繁体   English   中英

使用管道时重组bash参数

[英]Recombine bash arguments when using pipeline

在重组bash参数的情况下可以使用什么方法,例如:

echo "arg3 arg1 arg2" | ...

因此可以采用随机排序的重组参数:

... | some_command -arg1=$3 -arg2=$1 -arg3=$2 --interpretator-arg=$0 --anoter-arg=$1$2$3

一种选择是使用read

echo "arg3 arg1 arg2" | { read -r a b c; some_command ...; }

现在,您可以根据需要使用参数"$a""$b""$c"

我想您的示例有点人为,但在这种情况下可以避免使用管道:

{ read -r a b c; some_command ...; } <<< "arg3 arg1 arg2"

如果参数确实来自命令,则可以使用命令替换:

{ read -r a b c; some_command ...; } < <(command_producing_arguments)

请注意,如果命令组{ }全部写在一行上,则末尾的分号很重要。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM