bash – 将脚本作为另一个脚本的参数传递

我在SO上找不到类似的问题.

如何将bash脚本作为参数正确传递给另一个bash脚本.

例如,假设我有两个脚本可以接受许多参数,我想传递一个脚本作为另一个脚本的参数.就像是:

./script1 (./script2 file1 file2) file3

在上面的示例中,script2将file1和file2合并在一起,并回显一个新文件,但这与该问题无关.我只是想知道如何将script2作为参数传递,即正确的语法.

如果这是不可能的,任何关于我如何规避问题的暗示都是合适的.

如果要将script2作为参数传递给script1以在最后一个内部执行它,只需将以下代码放在script1中并调用script1,如下所示:
./script1 "./script2 file1 file2" file3  # file4 file5

script1中的代码

$1 # here you're executing ./script2 file1 file2
shift
another_command "$@" # do anything else with the rest of params (file3)

或者,如果您知道script2的params数量并且它已修复,您也可以按如下方式执行:

./script1 ./script2 file1 file2 file3  # file4 file5

script1中的代码

"$1" "$2" "$3"
shift 3
another_command "$@" # do anything else with the rest of params (file3)

相关文章

普通模式 >G 增加当前行到文档末尾处的缩紧层级 $ 移动到本行的末尾 . 相当于一个...
原文连接: https://spacevim.org/cn/layers/lang/elixir/ 模块简介 功能特性 启用模块 快捷键 语言专属...
原文连接: https://spacevim.org/cn/layers/lang/dart/ 模块简介 功能特性 依赖安装及启用模块 启用模...
 =   赋值操作符,可以用于算术和字符串赋值 +        加法计算     -        减法运算...
1.根据包名来查看指定的APP指定数据 adb shell "top | grep com.xxx.xxx" 由于这样打印出来的数...
ctrl+F 向下翻页 ctrl+B 向下翻页 u 取消最近一次操作 U 取消当前行的操作 ZZ 保存当前内容并退出 gg 跳...