rmコマンドを使用してこのシェルスクリプトの断片を説明してください。

rmコマンドを使用してこのシェルスクリプトの断片を説明してください。

私はUnixスクリプトの初心者です。誰でも次の行の意味を説明できますか?

BTEQTEMPDELLOGS=$LOGS/${tablename}.DELlog

rm $BTEQTEMPDELLOGS 2>/dev/null 1>/dev/null

答え1

(「削除」)コマンドはrmファイルを削除します。削除されるファイルの名前はBTEQTEMPDELLOGS直接与えられず、変数に与えられます。すべてのエラーメッセージ(2>)は通常の出力()と同じようにrm送信(破棄)されます。/dev/null1>

変数自体は、BTEQTEMPDELLOGS変数LOGS、リテラル "/"、および末尾に文字列 ".DELlog"を持つ変数を連結することによって最初の行でtablename構成されます。

以下は、(入力と)出力リダイレクトのドキュメントです。GNU bash マニュアル: リダイレクト

あなたの例では、入力ではなく出力のみがリダイレクトされます。 1>発生した一般メッセージrm(通常はありません)をリダイレクトし、2>エラーメッセージ(ファイルが見つかりませんなど)のみをリダイレクトします。

以下は、これらの数字の詳細です(プログラマーの観点の「ファイルハンドル」)。stdin(0)、stdout(1)、stderr(2) プログラムの入出力

関連文書は次のとおりです/dev/nullWikipedia:NULLデバイス

関連情報