相关疑难解决方法(0)

如何使用"bash -c"命令使用位置参数?

我想知道使用命令时使用位置参数的最佳方法bash -c.

手册页指示-c选项:

如果在command_string之后有参数,则将它们分配给位置参数,从$ 0开始.

所以我想以下表格是正确的:

$ bash -c 'printf "%s %s %s\n" $0 $1 $2' param1 param2 param3
param1 param2 param3
Run Code Online (Sandbox Code Playgroud)

但是我看到了以下形式,我想知道为什么会更好

$ bash -c 'printf "%s %s %s\n" $1 $2' _ param1 param2
param1 param2 
Run Code Online (Sandbox Code Playgroud)

在这种情况下,角色会_替换$0.

我知道,对于许多解释器来说$0有一个特殊的含义(命令名称,所有位置参数......),但在这种情况下,手册页非常清楚.

那么,第一种形式是否有问题,并且使用$0作为bash -c命令的第一个位置参数有什么缺点吗?

bash

18
推荐指数
2
解决办法
1640
查看次数

标签 统计

bash ×1