Czy to Linux czy MacOSX? W razie wątpliwości oznacz go używaną powłoką.
Bobby
Używam OSX, ale powinien być taki sam jak Linux.
tony_sid
Nie, MacOSX to Unix, a Linux to Linux. Dodatkowo istnieje mnóstwo różnych powłok dla systemu Linux, które mogą zapewniać różne rozwiązania.
Bobby
1
@Bobby Istnieją również różne powłoki w OSX, ale bez żadnych przeciwnych informacji, bashjest to dobre założenie.
Daniel Beck
Odpowiedzi:
2
Zrobiłbym to:
a && b
naciśnij, ctrl-Zaby zawiesić bieżący potok
bg 1 uruchomić go w tle
wait %1 && c
waitczeka na zakończenie określonego zadania i zwraca status wyniku, aby powyższe a && b && czachowało się tak , jak miałoby to miejsce.
Możesz także zdefiniować alias lub funkcję, np alias bgwait='bg 1 && wait %1'. Następnie po naciśnięciu ctrl-Zwystarczy wpisać bgwait && c. Obsługa wielu zadań pozostawia czytelnikowi ćwiczenie.
Jak więc wpisać to polecenie, jeśli program już działa? Czy otworzę inny terminal?
tony_sid
@ OSXJedi po prostu go wpiszesz (zakładając, że aktualnie uruchomiony program nie ma danych wejściowych). Zostanie wykonany po zamknięciu programu, podobnie jak później, po wpisaniu, z tym wyjątkiem, że nie musisz czekać na bopuszczenie komputera.
Daniel Beck
-2
W systemie NT możesz wpisać nowe polecenie i nacisnąć klawisz ENTER, gdy bieżące polecenie jest uruchomione.
Na przykład
c: \ blah> reż / s
gdzie bla jest wystarczająco duże, abyś miał czas na pisanie, podczas gdy rzeczy przewijają się na ekranie.
teraz wszystkie te rzeczy przewijają się na ekranie
a gdy się pojawi, wpisz mem
następnie po zakończeniu katalog / s mem uruchomi się.
Wytrzymać. Kiedy odpowiedziałem, wciąż nie powiedział, jaki system operacyjny. Więc wziąłem to za ogólne pytanie i odpowiedziałem, co zadziała w NT. I po drugie. jeśli się nad tym zastanowić, moja odpowiedź brzmi „komendy warunkowe”. To jest dokładnie to. Jeśli prowadzi A&B i chce, żeby działało tak, jakby zrobił A&B, ale nie umieścił tam A&C. On może zrobić tak, jak powiedziałem. I działa warunkowo w ten sam sposób. Czyż nie
barlop
2
mógł mieć na myśli warunek pod względem polecenia zwrócenia czegoś prawdziwego / fałszywego. ale w tym przypadku być może zobaczy, czy jest to prawda / fałsz, gdy jest uruchomione (czyli wtedy, gdy i tak planuje uruchomić polecenie), a potem zdecyduje, czy wykonać polecenie. Wydaje mi się, że miał na myśli tylko uruchamianie jednego polecenia po drugim.
barlop
@barlop: Ale tagi też tam były. Chociaż trochę mylące, ale z wyłączeniem systemu Windows.
bash
jest to dobre założenie.Odpowiedzi:
Zrobiłbym to:
a && b
ctrl-Z
aby zawiesić bieżący potokbg 1
uruchomić go w tlewait %1 && c
wait
czeka na zakończenie określonego zadania i zwraca status wyniku, aby powyższea && b && c
zachowało się tak , jak miałoby to miejsce.Możesz także zdefiniować alias lub funkcję, np
alias bgwait='bg 1 && wait %1'
. Następnie po naciśnięciuctrl-Z
wystarczy wpisaćbgwait && c
. Obsługa wielu zadań pozostawia czytelnikowi ćwiczenie.źródło
Wynik ostatniej operacji jest przechowywany w
$?
. 0 oznacza brak błędów, wszystko inne stanowi problem.Możesz np. Użyć tego w ten sposób
Zrób z niego funkcję lub podobną funkcję
.bash_profile
i możesz uruchomić ją nieco bardziej komfortowo.źródło
b
opuszczenie komputera.W systemie NT możesz wpisać nowe polecenie i nacisnąć klawisz ENTER, gdy bieżące polecenie jest uruchomione.
Na przykład
c: \ blah> reż / s
gdzie bla jest wystarczająco duże, abyś miał czas na pisanie, podczas gdy rzeczy przewijają się na ekranie.
teraz wszystkie te rzeczy przewijają się na ekranie
a gdy się pojawi, wpisz mem
następnie po zakończeniu katalog / s mem uruchomi się.
źródło
&&
).