1.使用explainshell.com:

1.使用explainshell.com:

誰でも私がこれを理解するのを助けることができますか?

echo $?- 一種の変数が出力されることがわかります...

この

ls >> $File 2>&1 ----誰がこれが何をしているのかを説明できますか?

答え1

echo は$?前のコマンドのエラーコードを返します。

努力する

false ; echo $?
true ; echo $?

ls >> $File 2>&1>>lsの()出力をファイル名の末尾にリダイレクトし、$Fileエラー2>&1(存在する場合)もリダイレクトします。

  • >>ファイルに追加することを示します。

答え2

1.使用explainshell.com:

または

2. シェルのマニュアルページを検索します。

以下を実行してください。

    $ man sh #replace sh with another shell if you need to

Ctrl-Fを押して検索/パターンを入力し、Enterを押して検索パターンのスタイルを指定できます。


要約:

エコ:テキスト1行を表示します。

$?:最後に実行されたコマンド/パイプラインの終了状態に展開されます。

エルエス: ディレクトリ内容のリスト

>>: 追加出力

2>&1:stderr(fd=2) を stdout(fd=1) にリダイレクトします (このコンテキストでは、追加モードの "$File" です)。

答え3

この質問でもっと重要なのは、リダイレクト演算子に関する問題です。

ls >> $File 2>&1

ls stands for list contents of current directory

>> means append to end of file

$FILE means there is a variable declared as FILE having some value, could be the path to a file.

2>&1 means redirecting both stdin and sterr to the target file, in this case $FILE.

関連情報