[#1] [AmigaDOS] Polecenie jedno po drugim
Dziś taki temat - próbuję napisać skrypt, w którym chcę aby jedno polecenie wykonało się dopiero, gdy poprzednie (skrypt) skończy działanie. Jak to zrobić?

Przykład:
C:Execute some_script // to dość rozbudowany skrypt z interakcją użytkownika (ASK, GetInput etc.) kończący się poleceniem EndCLI
C:Dir DEVS: // to ma się wykonać, jak góra skończy
[#2] Re: [AmigaDOS] Polecenie jedno po drugim

@_arti, post #1

Może po prostu wywołaj ten skrypt wprost (po ustawieniu mu bitu protekcji +S), zamiast przez Execute.
[#3] Re: [AmigaDOS] Polecenie jedno po drugim

@Krashan, post #2

To już zrobiłem ale nie rozwiązuje to problemu.
[#4] Re: [AmigaDOS] Polecenie jedno po drugim

@_arti, post #3

A taki pipe: https://aminet.net/package/util/shell/Pipe-1.5 by pomógł?
[#5] Re: [AmigaDOS] Polecenie jedno po drugim

@_arti, post #3

Jeżeli znasz czas wykonania skryptu to przed następnym możesz zawsze dodać wait ..
[#6] Re: [AmigaDOS] Polecenie jedno po drugim

@_arti, post #1

Spróbuj z poleceniem WaitSignal (aminet).
[#7] Re: [AmigaDOS] Polecenie jedno po drugim

@_arti, post #1

Chodzi o to, że endcli w pierwszym skrypcie kończy cli i kolejna komenda w ogóle się nie wykonuje?
A jak wywołasz skrypt przez "run execute", to druga komenda nie czeka, bo po prostu nie musi?
Nie możesz po prostu usunąć endcli?
[#8] Re: [AmigaDOS] Polecenie jedno po drugim

@BigBang, post #7

To są dwa osobne procesy i tak: (1) skrypt który odpala oba, tj. siebie i ten interaktywny (2) odpalany wewnątrz, więc EndCli w tym drugim nie powinno przeszkadzać. To i tak osobne okno, które się zamyka.
[#9] Re: [AmigaDOS] Polecenie jedno po drugim

@_arti, post #8

Jak sie bawilem w kontrolowanie Prismy poprzez Dopus5 to uzywalem WaitForTask z aminetu - nie wiem czy to jakkolwiek moze pomoc w Twoim wypadku - ale sam penie bedziesz to wiedzial :)

link
...
We talked about the problem of waiting on such a program from the
CLI. This is quite difficult because there is no possible way of
finding out when the program finishes.

This problem is solved now! WaitForTask scans Exec's task lists
regularly and looks for a program name, which is specified when
you run the program. WaitForTask will not return until this task
exists!

Using this command you can easily synchronise your scripts with
self detaching programs.
[#10] Re: [AmigaDOS] Polecenie jedno po drugim

@_arti, post #8

No to ja zrobiłbym jakoś tak:
skrypt1:
na początku:
unsetenv DONE

na końcu (przed endcli)
setenv DONE=1


skrypt drugi:
run execute script1
lab LOOP
getenv DONE > NIL:
if WARN
  echo nie ma zmiennej
  wait 1
  skip LOOP back
else
  echo jest zmienna
endif
echo jakas komenda po wywolaniu skryptu1

Ale ciekaw jestem czy można prościej, na standardowym systemie, bez instalowania dodatków z aminetu?
1
[#11] Re: [AmigaDOS] Polecenie jedno po drugim

@BigBang, post #10

Czy LOOP to jakaś wyjątkowa labelka (LAB), która sprawia, że ten fragment kodu jest pętla?
Drugie pytanie - jak oznacza się koniec bloku określonego LAB'em? Wystarczy pusta linia?
[#12] Re: [AmigaDOS] Polecenie jedno po drugim

@_arti, post #11

LAB to miejsce rozpoczęcia jakieś procedury.

SKIP z parametrów BACK powoduje cofnięcie wykonywania skryptu do nazwy przy LAB

Samo SKIP "nazwa" powoduje skok "w dół" skryptu do LAB "nazwa"
1
[#13] Re: [AmigaDOS] Polecenie jedno po drugim

@_arti, post #11

Nie, labelke możesz sobie nazwać jak chcesz (choć nie wiem, może są ograniczenia jakieś).
Ważny jest ten "back" w skip, bo bez tego szuka labelki tylko w dół pliku, od miejsca w którym jest skip.
Koniec "bloku" to komenda skip, która używa tego lab-a.
Bez skipa to może robić za komentarz.
1
[#14] Re: [AmigaDOS] Polecenie jedno po drugim

@BigBang, post #13

Teraz jasne OK
[#15] Re: [AmigaDOS] Polecenie jedno po drugim

@_arti, post #1

to co napisałeś samo w sobie będzie się wykonywać po kolei, czyli najpierw execute skrypt
po zakończeniu tego (interakcja etc) będzie wykonywanie Dir DEVS:
Tak jak Ci napisał kolega BigBang, efekt końcowy psuje ci tylko endcli na końcu pierwszego skryptu, wywal je i po sprawie ok, racja
1
[#16] Re: [AmigaDOS] Polecenie jedno po drugim

@BULI, post #15

To, w rezultacie, nie było takie proste. Rozwiązałem to inaczej. Tak, czy siak, EndCLI było potrzebne do zamknięcia okienka z drugim skryptem.
Na stronie www.PPA.pl, podobnie jak na wielu innych stronach internetowych, wykorzystywane są tzw. cookies (ciasteczka). Służą ona m.in. do tego, aby zalogować się na swoje konto, czy brać udział w ankietach. Ze względu na nowe regulacje prawne jesteśmy zobowiązani do poinformowania Cię o tym w wyraźniejszy niż dotychczas sposób. Dalsze korzystanie z naszej strony bez zmiany ustawień przeglądarki internetowej będzie oznaczać, że zgadzasz się na ich wykorzystywanie.
OK, rozumiem