系统相关
首页 > 系统相关> > linux – 如何使用重定向和管道创建一个bash字符串命令?

linux – 如何使用重定向和管道创建一个bash字符串命令?

作者:互联网

我想用重定向和/或管道创建一个bash字符串命令,并使用它来显示命令字符串或执行命令字符串.没有重定向或管道的简单命令可以工作,但是带有重定向或管道的一串命令不能.例如,

command="echo 1"
$command
echo "$command"

会显示

1
echo 1

然而,

command="echo 1 | cat"
$command
echo "$command"

会显示

1 | cat
echo 1 | cat

但我想要

1
echo 1 | cat

同样对于重定向,

command="echo 1 | cat > 1.out"
$command
echo "$command"

会显示

1 | cat > 1.out
echo 1 | cat > 1.out

但我想要

echo 1 | cat > 1.out

使用名为“1.out”的新文件,其中包含内容1.

有没有办法实现我想要的?

解决方法:

如果您希望shell将字符串计算为命令,请告诉它:

eval "$command"
echo "$command"

标签:bash,linux,shell,pipe,io-redirection
来源: https://codeday.me/bug/20190831/1773618.html