cod*_*dar 45 bash subprocess return exit
我使用一个使用bash源功能扩展的脚本;
#!/bin/bash
source someneatscriptthatendsprematurely.sh
Run Code Online (Sandbox Code Playgroud)
我希望能够从该脚本返回,而不会破坏主脚本.
使用退出中断主脚本,返回仅在函数中有效,并且试验$(退出1)似乎也不起作用.
那么,是否可以在不破坏主bash的情况下返回子bash脚本?
任何帮助赞赏!
pax*_*blo 70
你需要return
声明:
return [n]
使函数以指定的返回值退出
n
.如果n
省略,则返回状态是在函数体中执行的最后一个命令的状态.如果在函数外部使用,但在.
(source)命令执行脚本期间,它会导致shell停止执行该脚本并返回脚本中执行n
的最后一个命令的退出状态或脚本的退出状态.如果在函数外部使用而不是在执行脚本期间使用.
,则返回状态为false.在函数或脚本之后执行恢复之前,将执行与RETURN陷阱关联的任何命令.
您可以使用以下两个脚本查看此操作:
script1.sh:
. script2.sh
echo hello again
script2.sh:
echo hello
return
echo goodbye
Run Code Online (Sandbox Code Playgroud)
当你跑步时script1.sh
,你会看到:
hello
hello again
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
16678 次 |
最近记录: |