シェルスクリプトの操作は、プログラマーとシステム管理者にとって常に興味深いものでした。これは、出力がデバッグと監視の両方に役立つためです。ほとんどのLinuxディストリビューションの構成は主にファイルに基づいているため、スクリプトを使用してテキストファイルにデータを書き込むか、コマンドラインで出力をリダイレクトするという概念を理解することが重要です。
Linuxは、ユーザーとコンピューターとの通信中に3つの主要なデータストリームを使用します。
- stdin(標準入力)
- stdout(STandarD OUTput)
- stderr(STandarD ERRor)
1。 stdin
これは、情報を入力するためのデータストリームです。キーボードやマウスなどのデバイスからの入力はすべて、標準の入力データストリームに含まれます。 stdin 0で表されます ストリームID。
[読むこともお楽しみいただけます:bashでリダイレクト演算子を使用する5つの方法]
2。 stdout
これは、データを出力するためのデータストリームです。デバイス(モニター、スピーカーなど)からの出力は、標準の出力データストリームに含まれます。 stdout 1で表されます ストリームID。
3。 stderr
標準エラーは、コマンドによって生成されたエラーを処理するために使用されます。何かがうまくいかなかったことをユーザーに警告するデバイスストリーム(モニター、スピーカーなど)は、stderrの対象になります。 stderr 2で表されます ストリームID。
どのようにデータをファイルに書き込みますか?
リダイレクト演算子を使用して、stdoutおよびstderrストリームからデータをフェッチし、それらをテキストファイルにリダイレクトします。
リダイレクト :リダイレクトは、コマンドの実行中に入出力デバイスを変更するために使用されるLinuxの機能です。
出力/エラーリダイレクト
Bashスクリプトからテキストファイルにデータを書き込むには、>
で出力/エラーリダイレクトを使用します および>>
リダイレクト演算子。
> テキストファイルのデータを上書きします。
>> データをテキストファイルに追加します。
基本的なスクリプトの作成とリダイレクトの理解
date >> test1.txt
who >> test1.txt
date > test2.txt
who > test2.txt
ここで、両方のコマンドの出力が test1.txt
に追加されます test2.txt
who
の出力のみが含まれます コマンド。
リダイレクトのさらなる作業
上記のスクリプトは出力のみをリダイレクトし、エラーが発生した場合は失敗します。出力、エラー、またはその両方のリダイレクトを操作するには、追加のパラメーターを指定する必要があります。
出力をリダイレクトする場合:>
または>> または1>
または1>>
リダイレクトエラーの場合: 2>
または2>>
両方をリダイレクトする場合:&>
または&>>
リダイレクトエラー
date --who 2>> test1.txt
who 2>> test1.txt
エラーのみをリダイレクトするために、エラーの特定のパラメーターを指定しました。引数が間違っているため、出力ファイルには最初のコマンドの出力のみが含まれます。
他の引数を交換して使用して、さまざまな機能を実現できます。
他のコマンドのスクリプトの記述は上記のスクリプトと同じであり、上記の演算子が必要です。
[今すぐダウンロード:システム管理者によるBashスクリプトのガイド。 ]
まとめ
データをstdoutまたはstderrにリダイレクトすることは、開発者とシステム管理者の両方にとって非常に便利です。これらのツールとその結果を理解すると、新しいファイルの作成、トラブルシューティング、およびシステム情報の収集に役立ちます。