次の例echo
では、パイプライン内の前のコマンドの終了コードに関係なく、ステートメントが実行されます。
asemenov@cpp-01-ubuntu:~$
asemenov@cpp-01-ubuntu:~$ false|echo 123
123
asemenov@cpp-01-ubuntu:~$ true|echo 123
123
asemenov@cpp-01-ubuntu:~$
前のコマンドのゼロecho
終了コードでのみコマンドを実行したい、つまりこの動作を実現したい:
asemenov@cpp-01-ubuntu:~$ false|echo 123
asemenov@cpp-01-ubuntu:~$
bashで可能ですか?
より実用的な例を次に示します。
asemenov@cpp-01-ubuntu:~$ find SomeNotExistingDir|xargs ls -1
find: `SomeNotExistingDir': No such file or directory
..
..
files list from my current directory
..
..
asemenov@cpp-01-ubuntu:~$
xargs ls -1
失敗した場合に実行する理由はありませfind
ん。