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 output... ale naprawdę chciałem /bin/myprog && /usr/bin/mycleanup. …
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 wyjścia 130, ale czy różni się to w zależności od …
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 …
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 polecenie do tego celu, chciałbym go użyć zamiast tego.
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, wszystkie jego dzieci również …
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 w result=`func` nie wyjdzie ze skryptu. …
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, …
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 zabijania.
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 następująca: exit () { …
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ś wyjątki?
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 wymusza kod wyjścia …
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 -ex echo "Test 1" Z=`expr 1 …
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! need to go check something …
Używamy plików cookie i innych technologii śledzenia w celu poprawy komfortu przeglądania naszej witryny, aby wyświetlać spersonalizowane treści i ukierunkowane reklamy, analizować ruch w naszej witrynie, i zrozumieć, skąd pochodzą nasi goście.
Kontynuując, wyrażasz zgodę na korzystanie z plików cookie i innych technologii śledzenia oraz potwierdzasz, że masz co najmniej 16 lat lub zgodę rodzica lub opiekuna.