访问 shell 脚本中的行参数

访问 shell 脚本中的行参数

我想知道是否有可能在 shell 脚本中访问完整的命令行调用。在我的脚本中,我需要进一步传递它。我发现有 $@ 和 $* 访问器,但它不会传递所有字符,例如,如果我在命令行中写入: $ my_script xyz -m "something here" 并且在我的脚本中我访问命令行参数如下:

参数=“$*”

回显 $arguments

我将看到输出:xyz -m something here。不幸的是,它删除了引号,是否可以保留它们?然后我想将这些参数传递给另一个脚本,我不知道有多少个,以及在行中的哪个位置会有引号。

答案1

实际上,我之前已经解决了我的问题,在我的第一个脚本中,我像上面写的那样启动了第二个脚本,但实际上在我的第一个脚本中我应该使用:

second_script“$@”

启动第二个脚本,现在它按预期工作。相关的是 $@ 周围的引号。

相关内容