在 bash 脚本中,我有一组参数要传递给另一个 bash 脚本。我该怎么做? [复制]

Posted

技术标签:

【中文标题】在 bash 脚本中,我有一组参数要传递给另一个 bash 脚本。我该怎么做? [复制]【英文标题】:In a bash script, I have an array of arguments I want to pass in order to another bash script. How would I do this? [duplicate] 【发布时间】:2021-11-02 00:13:38 【问题描述】:

基本上,我编写了一个 bash 脚本来充当其他脚本的包装脚本。这个想法是传递您想要运行的脚本的名称及其参数,然后我的脚本设置一些全局变量并确保您被允许使用给定的输入,然后使用给定的参数调用脚本。那么如何使用 bash 代码中的给定参数调用作为参数给出的脚本呢?

【问题讨论】:

sh 没有数组。为什么这个标签是 sh? 顺便说一句,要真正复制数组中的内容,请参阅***.com/a/1063367/14122。链接的重复项用于传递参数列表(使用"$@"),而不是实际将数组扩展至其上。 【参考方案1】:

你收到的参数在"$@";你可以用它来传递它们。

#!/bin/bash

script=$1
shift

for x in "$@"; do
    # validate remaining arguments
done

"$script" "$@"

【讨论】:

...已经有两个精确的链接副本,不是吗? 细微差别(无论如何,IMO):其中一个参数是要运行自身的脚本,而不是传递给硬编码命令的参数。

以上是关于在 bash 脚本中,我有一组参数要传递给另一个 bash 脚本。我该怎么做? [复制]的主要内容,如果未能解决你的问题,请参考以下文章

如何在bash脚本中传递两个参数或参数[重复]

解析/传递命令行参数到bash脚本 - “$ @”和“$ *”之间有什么区别?

如何将带有管道符号的多个参数传递到bash脚本案例语句中

Bash 将变量名作为参数传递

Linux Shell脚本之向脚本传递参数

将 MODEL_id 传递给另一个模型参数