我正在编写一个bash脚本,利用getopt处理脚本名称后提供的许多选项。
我正在通过puTTy访问我的shell。
我用脚本调用脚本。 scriptname.sh -o --options(有没有更好的方法来执行bash脚本?)
我希望能够中止/暂停脚本,但每当我使用exit
时,它不仅会退出脚本,还会关闭终端/ puTTy窗口。
...哪种方式违背了目的,因为我正在尝试做的是设置某种--help文本输出,显示文本但不执行脚本的其余部分。
与exit
有什么关系?如果不关闭任何父控制台窗口,我应该使用什么来暂停/中止脚本?
答案 0 :(得分:8)
使用exit
是正确的,您只是没有正确执行脚本。
使用.
与使用source
命令(help source
用法)相同,如果您真的想要执行脚本,则不是一个好主意。
取而代之的是chmod a+x scriptname.sh
,然后使用./scriptname.sh
来调用它。
不同之处在于source
将脚本视为已被您键入;它运行在您以交互方式运行的同一bash
会话中。这意味着它更改的任何变量在完成后仍会发生变化。这也意味着如果您将脚本告诉exit
,它将正确终止您当前的bash会话。