BashでのBang(!)の使い方

BashでのBang(!)の使い方

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のマニュアルでは、「予約語!がパイプの前に来ると、そのパイプの終了状態は終了状態の論理的否定です。」

文法を誤って読みましたね。構文で言うのは、|を前にパイプと一緒に入れることができるということです。

おすすめ記事