相关疑难解决方法(0)

在bash shell脚本中传播所有参数

我正在编写一个调用另一个脚本的非常简单的脚本,我需要将参数从当前脚本传播到我正在执行的脚本.

例如,我的脚本名称是foo.sh和调用bar.sh

foo.sh:

bar $1 $2 $3 $4
Run Code Online (Sandbox Code Playgroud)

如何在不明确指定每个参数的情况下执行此操作?

bash command-line-arguments

769
推荐指数
10
解决办法
39万
查看次数

如何将传递给我的bash脚本的所有参数传递给我的函数?

假设我已经定义了一个function abc()将处理与分析传递给我的脚本的参数相关的逻辑.

如何将我的bash脚本收到的所有参数传递给它?params的数量是可变的,所以我不能像这样硬编码传递的参数:

abc $1 $2 $3 $4
Run Code Online (Sandbox Code Playgroud)

编辑.更好的是,我的函数有没有办法访问脚本参数的变量?

bash function parameter-passing

564
推荐指数
7
解决办法
28万
查看次数

访问bash命令行args $ @ vs $*

在许多SO问题和bash教程中,我看到我可以通过两种方式访问​​bash脚本中的命令行参数:

$ ~ >cat testargs.sh 
#!/bin/bash

echo "you passed me" $*
echo "you passed me" $@
Run Code Online (Sandbox Code Playgroud)

结果如下:

$ ~> bash testargs.sh arg1 arg2
you passed me arg1 arg2
you passed me arg1 arg2
Run Code Online (Sandbox Code Playgroud)

$*和之间有什么区别$@
应该何时使用前者,何时使用后者?

bash command-line-arguments

298
推荐指数
4
解决办法
18万
查看次数