[英]exit from a function in child shell script to parent shell script
我正在使用bash腳本,試圖通過返回狀態代碼從子shell腳本中的功能退出到父shell腳本。
Script1.sh
echo "hello script1"
. ./script2.sh
echo $?
Script2.sh
status()
{
echo "status"
return 1
}
status
echo "Hello shell2"
該腳本打印“狀態”和“ Hello shell2”,但是我想不打印“ Hello shell2”而從script2.sh的狀態功能退出到script1.sh。
我已經檢查了堆棧溢出中的一些問題,這些討論都是關於從子腳本返回父級而不是從子函數返回父級的。
在此先感謝,索曼
您無法指定要返回多少級“向上”,但是您可以響應呼叫的退出狀態。 只需讓status
返回當前status
,並且由於您正在尋找文件,因此將對status
的調用更改為
status || return
如果status
退出狀態為非零,則這將導致源腳本返回到父級。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.