Dan*_*all 10 linux bash shell command-line arguments
遵循命令
echo 'a b' 'c'
Run Code Online (Sandbox Code Playgroud)
输出
a b c
Run Code Online (Sandbox Code Playgroud)
但以下
X="'a b' 'c'"
echo $X;
Run Code Online (Sandbox Code Playgroud)
将结束
'a b' 'c'
Run Code Online (Sandbox Code Playgroud)
我正在寻找一种取消引用$ X的方法,以便输出"ab c",但不会丢失合并的"ab"参数.(= 2个参数而不是3个,对命令'echo'没有区别,但对于其他命令如'cp'没有区别
van*_*nza 10
试试xargs:
$ echo $x
'a b' 'c'
$ echo $x | xargs ./echo
argc = 3
argv[0] = ./echo
argv[1] = a b
argv[2] = c
Run Code Online (Sandbox Code Playgroud)
eval echo $x
Run Code Online (Sandbox Code Playgroud)
这将a b
作为第一个参数和c
第二个参数传递
注意:这实际上会评估参数,例如:
$ x='$((3+5))'
$ eval echo $x
8
Run Code Online (Sandbox Code Playgroud)
如果那不是你想要的东西@ vanza's xargs
.
归档时间: |
|
查看次数: |
8537 次 |
最近记录: |