シェル スクリプト内で繰り返し使用する必要があるコマンドがあります。このコマンドにはパイプが含まれており、コマンド全体の出力が他のコマンドにパイプされます。
たとえば、簡単にするために、コマンドがls | tee
. 次に、それを他のコマンドにパイプするかもしれませls | 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
ですか?出力を他のコマンドにパイプできますか?