我有一个命令需要在 shell 脚本中重复使用。该命令包含一个管道,整个命令的输出将通过管道传输到其他命令。
例如,为了简单起见,假设命令是ls | tee
. 然后我可能会将它通过管道传递给其他命令,saysls | tee | someprogram
或ls | tee | anotherprogram
.
所以我自然会想保留ls | tee
一个变量。问题是我似乎无法执行带有管道的变量。
#!/bin/sh
TEST="ls | tee"
$TEST
给出以下输出
ls: cannot access |: No such file or directory
ls: cannot access tee: No such file or directory
如何执行像$TEST
上面这样的变量,同时能够将输出传递给其他命令?