Shell、bash、Linux;変数宣言後にセミコロンを追加するのはなぜですか?

Shell、bash、Linux;変数宣言後にセミコロンを追加するのはなぜですか?

これがラインです。

    variable=`ls -A $1 | grep '[abc]'; ls -1 $1`

セミコロンの前の行は理解していますが、セミコロンの後の行はどのように機能するのか理解していません。できる

  after the command(variable assignment) 
  and then run the command after semi-colon?

それでは、次の行は同じですか?

    variable=`ls -A $1 | grep '[abc]' | ls -1 $1`

ありがとう、

ベストアンサー1

セミコロンは単に2つの連続したコマンドを区別します。マンページ(man bash)には次のように記載されています。リスト):

; を使用してコマンドを分離し、順番に実行します。

たとえば、次はコマンドを最初に実行fooし、次にコマンドを実行しますbar

foo; bar

例を正しく解析するには、まず階層モデルを構築する必要があります。

 variable=`ls -A $1 | grep '[abc]'; ls -1 $1`

(バックティック内にあるもの)と(バックティック内にあるもの)に分解することができます。variable=...ls -A $1 | grep '[abc]'; ls -1 $1

バックティックはコマンドの出力を取得するために使用されます(参照:コマンドの置き換えman bash;したがって、出力全体をls -A $1 | grep '[abc]'; ls -1 $1変数に割り当てます。

置換コマンドの出力は、特定のパターン(隠しシールドを含む)と一致するファイルのリストであり、ファイルの完全なリスト(すべての利用可能なもの...)が追加されます。

おすすめ記事