我的脚本中有一个prety long IF ELIF语句,它有效。当我开始尝试执行外部程序/第三方软件时,我的问题开始了。
.....; then
prog1 -some flags
prog2 -some flags
prog3 -some more flags
prog4 -even more flags
elif [......]
正如你可以猜到的那样,我发现这不是收费的,我能看到的唯一工作就是把这些命令放到一个单独的shell脚本中并按如下方式调用它:
.....; then
./myshellscript.sh
elif [......]
是否在脚本中包含它自己而不必调用shell脚本来完成我的所有任务。我通常会咬紧牙关并做到这一点,但这意味着有数百个外部shell脚本会混乱文件夹,而不是有一个包含执行手头任务所需的所有代码的deffinitive脚本。
再次感谢任何帮助。
答案 0 :(得分:1)
如果你只关心每个分支中脚本的调用次数,以及每个分支中调用的脚本是否相同,那么你可以使用bash函数来完成工作。
查看this page,了解如何在bash中编写函数。
这基本上是相同的方式,就像你将公共代码分解成几乎任何语言的函数一样。