【发布时间】:2018-10-25 17:34:51
【问题描述】:
我想知道使用命令bash -c时使用位置参数的最佳方式。
手册页指出-c 选项:
如果command_string后面有参数,则将它们分配给位置参数,从$0开始。
所以我猜下面的形式是正确的:
$ bash -c 'printf "%s %s %s\n" $0 $1 $2' param1 param2 param3
param1 param2 param3
但是I saw the following form,我想知道为什么会更好
$ bash -c 'printf "%s %s %s\n" $1 $2' _ param1 param2
param1 param2
在这种情况下,字符 _ 将替换 $0。
我知道对于许多解释器$0 具有特殊含义(命令名、所有位置参数...),但在这种情况下,手册页非常清楚。
那么,第一种形式有什么问题吗?使用$0 作为bash -c 命令的第一个位置参数有什么缺点吗?
【问题讨论】:
标签: bash