bash で変数にパイプを入れる
例えば、以下のような変数を用意して、
GREPS="grep start | grep end"
こんな感じで実行できないかなと。
less test.log | ${GREPS}
$ less test-log | ${GREPS} grep: |: そのようなファイルやディレクトリはありません grep: grep: そのようなファイルやディレクトリはありません grep: end: そのようなファイルやディレクトリはありません
だめだった。単なる文字列として解釈されてしまっている。
コマンドとして解釈してほしいので、eval を指定してみると、
$ less test-log | eval ${GREPS} test,start,end
動いてくれました。