誰でも私がこれを理解するのを助けることができますか?
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.