GNU/Linux >> Linux の 問題 >  >> Linux

Bashスクリプト:テキストファイルにデータを書き込む方法

シェルスクリプトの操作は、プログラマーとシステム管理者にとって常に興味深いものでした。これは、出力がデバッグと監視の両方に役立つためです。ほとんどのLinuxディストリビューションの構成は主にファイルに基づいているため、スクリプトを使用してテキストファイルにデータを書き込むか、コマンドラインで出力をリダイレクトするという概念を理解することが重要です。

Linuxは、ユーザーとコンピューターとの通信中に3つの主要なデータストリームを使用します。

  1. stdin(標準入力)
  2. stdout(STandarD OUTput)
  3. 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にリダイレクトすることは、開発者とシステム管理者の両方にとって非常に便利です。これらのツールとその結果を理解すると、新しいファイルの作成、トラブルシューティング、およびシステム情報の収集に役立ちます。


Linux
  1. Grepコマンドを使用してファイル内のテキストを検索する方法

  2. bash のすべてのサブディレクトリにあるすべてのファイルを gzip する方法

  3. tcpdump でファイルに書き込み、標準出力に適切なデータを出力するにはどうすればよいですか?

  1. Bashでループを作成する方法

  2. Linuxで2つのテキストファイルを結合する方法

  3. Bashシェルスクリプトで文字列を比較する方法

  1. Linuxコマンドを使用して画像にテキストを書き込む方法

  2. テキストファイルをすべて大文字または小文字に変換する方法

  3. 色付きのテキストを Linux 端末に出力するにはどうすればよいですか?