有条件地退出/中止shell脚本执行

Tom*_*ger 1 bash exit

我正在编写一个bash脚本,利用getopt处理脚本名称后提供的许多选项.

我通过puTTy访问我的shell.

我用这个调用脚本.scriptname.sh -o --options(有没有更好的方法来执行bash脚本?)

我希望能够中止/暂停脚本,但每当我使用exit它时不仅会退出脚本,它还会关闭终端/ puTTy窗口.

...有点失败的目的,因为我正在尝试做的是设置某种--help文本输出,显示文本但不执行脚本的其余部分.

什么是处理exit以及如何在不关闭任何父控制台窗口的情况下暂停/中止脚本?

Sor*_*gal 8

使用exit是正确的,你只是没有正确执行你的脚本.

使用.与使用source命令(help source用于使用)相同,如果您真的想要执行脚本,则不是一个好主意.

相反,chmod a+x scriptname.sh然后用./scriptname.sh调用它.

区别在于source将脚本视为您输入的内容; 它运行在bash您以交互方式运行的同一会话中.这意味着它更改的任何变量在完成后仍会发生变化.这也意味着如果您告诉脚本exit,它将正确终止您当前的bash会话.