Khi tôi sử dụng exitlệnh trong tập lệnh shell, tập lệnh sẽ chấm dứt thiết bị đầu cuối (lời nhắc). Có cách nào để chấm dứt một tập lệnh và sau đó ở lại trong thiết bị đầu cuối?
Kịch bản của tôi run.shdự kiến sẽ được thực thi bằng cách trực tiếp có nguồn gốc, hoặc có nguồn gốc từ một kịch bản khác.
EDIT: Để cụ thể hơn, có hai kịch bản run2.shnhư
...
. run.sh
echo "place A"
...
và run.shnhư
...
exit
...
Khi tôi chạy nó . run2.shvà nếu nó chạm vào exitdòng mã run.sh, tôi muốn nó dừng lại ở thiết bị đầu cuối và ở lại đó. Nhưng sử dụng exit, toàn bộ thiết bị đầu cuối bị đóng cửa.
PS: Tôi đã thử sử dụng return, nhưng echocodeline vẫn sẽ được thực thi ....
exit 0để chấm dứt tập lệnh sau khi thành công, khi bạn chạy tập lệnh cũ: ./test.shbạn sẽ thấy đầu ra nhưng bảng điều khiển của bạn sẽ vẫn mở.
shelllệnh, thực tế sẽ mở một thiết bị đầu cuối shell. Kinh nghiệm của riêng tôi tuy nhiên điều này không xảy ra với exit. Thoát thường trả lại quyền điều khiển cho tập lệnh cha.