Mam dwa procesy fooi barpołączone z rurą: $ foo | bar barzawsze kończy 0; Interesuje mnie kod wyjścia foo. Czy jest na to jakiś
Mam dwa procesy fooi barpołączone z rurą: $ foo | bar barzawsze kończy 0; Interesuje mnie kod wyjścia foo. Czy jest na to jakiś
Większość powłok zapewnia funkcje takie jak &&i ;do łączenia wykonywania poleceń w określony sposób. Ale co, jeśli polecenie jest już uruchomione, czy nadal mogę w jakiś sposób dodać kolejne polecenie do wykonania w zależności od wyniku pierwszego? Powiedz, że pobiegłem $ /bin/myprog some...
Kiedy proces zostanie zabity sygnałem nadającym się do obsługi, takim jak SIGINTlub, SIGTERMale nie obsługuje on sygnału, jaki będzie kod zakończenia procesu? Co z takimi nieobsługiwanymi sygnałami SIGKILL? Z tego, co mogę powiedzieć, zabicie procesu z SIGINTprawdopodobnym wynikiem w kodzie...
Mam skrypt, który nie wychodzi, kiedy chcę. Przykładowy skrypt z tym samym błędem to: #!/bin/bash function bla() { return 1 } bla || ( echo '1' ; exit 1 ) echo '2' Zakładam, że zobaczę wynik: :~$ ./test.sh 1 :~$ Ale tak naprawdę widzę: :~$ ./test.sh 1 2 :~$ Czy ()tworzenie łańcuchów...
Chcę przetestować skrypt za pomocą polecenia, które się nie powiedzie. Mógłbym użyć istniejącego polecenia ze złymi argumentami. Mógłbym również napisać prosty skrypt, który natychmiast kończy działanie z błędem. Oba są łatwe do zrobienia i działają dla mnie, ale jeśli istnieje standardowe...
Od dłuższego czasu badam zachowanie jądra Linuksa i zawsze było dla mnie jasne, że: Kiedy proces umiera, wszystkie jego dzieci są zwracane do initprocesu (PID 1), aż w końcu umrą. Jednak ostatnio ktoś z dużo większym doświadczeniem z jądrem powiedział mi, że: Kiedy proces się kończy,...
Rozważ ten fragment: stop () { echo "${1}" 1>&2 exit 1 } func () { if false; then echo "foo" else stop "something went wrong" fi } Zwykle funcwywołanie powoduje zakończenie skryptu, co jest zamierzonym zachowaniem. Jednak jeśli jest wykonywany w podpowłoce, na przykład...
Ten skrypt nie echa „po”: #!/bin/bash -e echo "before" echo "anything" | grep e # it would if I searched for 'y' instead echo "after" exit Byłoby tak również, gdybym usunął -eopcję z linii shebang, ale chcę ją zachować, aby mój skrypt zatrzymał się w przypadku wystąpienia błędu. Nie uważam, że...
Czy istnieje sposób, aby spowodować google-chromewyjście z terminala oprócz używania killall google-chrome? Chciałbym móc go zamknąć ze skryptu bez jego
Próbuję napisać funkcję, która zastąpi funkcjonalność exitwbudowanego systemu, aby uniemożliwić mi wyjście z terminala. Próbowałem użyć SHLVLzmiennej środowiskowej, ale wydaje się, że nie zmienia się w podpowłokach: $ echo $SHLVL 1 $ ( echo $SHLVL ) 1 $ bash -c 'echo $SHLVL' 2 Moja funkcja jest...
W systemie UNIX, gdy proces nadrzędny znika, myślałem, że wszystkie procesy podrzędne resetują init jako nadrzędne. Czy to nie jest poprawne przez cały czas? Czy są jakieś
Jestem zdezorientowany co do znaczenia kodu zakończenia na końcu skryptu bash: Wiem, że kod wyjścia 0 oznacza, że zakończył się powodzeniem i że istnieje wiele innych numerów kodów zakończenia (127, jeśli się nie mylę?) Moje pytanie dotyczy tego, czy widząc kod wyjścia 0 na końcu skryptu, czy...
Czy istnieje sposób na wycofanie się ze wszystkich połączeń SSH i zamknięcie PuTTY za pomocą „jednego strzału”? Pracuję w systemie Windows 7 i używam PuTTY do SSH na różnych hostach Linux. Przykład sposobu, w jaki pracuję: SSH to host1 with PuTTY... banjer@host1:~> #...doin some work...ooh!...
Mam skrypt bash, który ustawia -e, więc skrypt zakończy działanie w dowolnym stanie wyjścia! = 0. Próbuję wykonać podstawową arytmetykę powłoki przypisaną do zmiennych, a czasami wyrażenie jest równe 0, co powoduje, że stanem wyjścia komendy let lub expr jest „1”. Oto przykład: #!/bin/bash...
Czy istnieje sposób, w jaki mogę zrobić to, co podano w tytule poleceń terminalu, czy będę musiał sprawdzić
#!/bin/bash function back() { sleep $1 exit $2 } back $1 $2 & b=$! if `wait $!`;then echo success else echo failure fi bash-3.00# ./back 300 0 failure bash-3.00# ./back 300 1 failure Oczekiwałem successstatusu wyjścia, gdy wysyłam 0, ale wciąż otrzymuję failure. Ponadto waitnie czeka...
Ostatnio natknąłem się na listę kodów wyjścia o specjalnych znaczeniach z Advanced Bash-Scripting Guide. Odnoszą się do tych kodów jako zastrzeżone i zalecają: Zgodnie z powyższą tabelą kody wyjścia 1-2, 126-165 i 255 mają specjalne znaczenie i dlatego należy ich unikać w przypadku parametrów...
Jeśli używam trapjak opisano np. Na http://linuxcommand.org/wss0160.php#trap, aby złapać ctrl-c (lub podobny) i oczyścić przed wyjściem, zmieniam zwrócony kod wyjścia. Teraz prawdopodobnie nie będzie to miało znaczenia w świecie rzeczywistym (np. Ponieważ kody wyjścia nie są przenośne, a ponadto...
Załóżmy następujący fragment kodu bash: foo > logfile 2>&1 & foo_pid=$! while ps -p$foo_pid do ping -c 1 localhost done wait $foo_pid if [[ $? == 0 ]] then echo "foo success" fi Czy można bezpiecznie założyć, że $?rzeczywiście zawiera kod powrotu, fooa nie kod powrotu ping?...
Czy ktoś mógłby wyjaśnić, jak to exitpolecenie działa w terminalu uniksowym? Wyszukiwanie man exit i which exitnie było pomocne, natrafiłem na następujący problem. Po zainstalowaniu pakietów dodatkowych dla Anacondy i PyCharm w moim nowym systemie Red Hat zauważyłem, że kiedy dzwonię exitdo...