bashのソースコードを読んでいます。BNF構文Bashの場合:
<pipeline_command> ::= <pipeline>
| '!' <pipeline>
| <timespec> <pipeline>
| <timespec> '!' <pipeline>
| '!' <timespec> <pipeline>
<pipeline> ::=
<pipeline> '|' <newline_list> <pipeline>
| <command>
!
これはコマンドも一種のパイプであることを意味しますか?
! ls
動作しますが、と同じですls
。
! time ls
また動作します。
これは|
パイプとは全く異なります。
!
Bashでどのように使用しますか?パイプですか?
ベストアンサー1
Bashのマニュアルでは、「予約語!がパイプの前に来ると、そのパイプの終了状態は終了状態の論理的否定です。」
文法を誤って読みましたね。構文で言うのは、|を前にパイプと一緒に入れることができるということです。