Kiedy używam polecenia exit
w skrypcie powłoki, skrypt zakończy terminal (monit). Czy istnieje sposób na zakończenie skryptu, a następnie pozostanie w terminalu?Dowolny sposób na zamknięcie skryptu bash, ale nie opuszczanie terminala
Oczekuje się, że mój skrypt run.sh
zostanie wykonany bezpośrednio lub z innego skryptu.
EDIT: Aby być bardziej konkretne, istnieją dwa skrypty run2.sh
jak
...
. run.sh
echo "place A"
...
i run.sh
jako
...
exit
...
gdy uruchomię go przez . run2.sh
, a jeśli to hit exit
codeline w run.sh
Chcę, żeby zatrzymał się w terminalu i tam został. Ale używając exit
, cały terminal zostanie zamknięty.
PS: próbowałem użyć return
, ale echo
codeline będzie nadal pobiera wykonywane ....
Naprawdę, naprawdę, naprawdę muszę zapytać: dlaczego używasz wyjścia w skryptach źródłowych? –
Polecenie exit nie powinno powodować zakończenia sesji terminalowej/logowania. jeśli użyjesz 'exit 0' do zakończenia skryptu po powodzeniu, po uruchomieniu skryptu ex:'./test.sh' powinieneś zobaczyć dane wyjściowe, ale konsola pozostanie otwarta. –
Można użyć polecenia 'shell', które otwiera w rzeczywistości terminal powłoki. Moje własne doświadczenie jest jednak takie, że nie dzieje się tak z 'exit'. Wyjście zwykle przywraca kontrolę nad skryptem nadrzędnym. –