【发布时间】:2014-01-10 21:06:14
【问题描述】:
我想用重定向和/或管道制作一个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。
有没有办法实现我想要的?
【问题讨论】:
-
cat是一个接收文件名/s 作为参数/s 的命令,并且您正尝试将echo 1输入其中。你到底想完成什么?
标签: linux bash shell pipe io-redirection