Linux シェルには、コマンドの出力をファイルにリダイレクトまたはパイプするための演算子がいくつかあります。このガイドでは、エコー出力をファイルにリダイレクトするいくつかの方法を紹介します。ファイルの内容を echo 出力に置き換え、echo を使用して既存のファイルにテキストを追加し、最後に SSH によってリモート システム上のファイルにテキストをエコーします。ここに示されているすべての例は、Ubuntu、Debian、Linux Mint、Rocky Linux などの任意の Linux ディストリビューションで動作します。
ファイルにエコー
「>」 ” 演算子は、ファイルの内容を echo コマンドによって返されるテキストに置き換えるために使用されます。
構文:
echo "some text here" > /path/to/file
例:
$ echo "Greetings from Vitux.com" > /tmp/test.txt
コマンドはシェルに結果を表示せず、出力全体がファイルに保存されます。ここで、ファイル /tmp/test.txt の内容を確認します。 cat コマンドを使用します:
cat /tmp/test.txt
Echo を使用してファイルにコンテンツを追加する
2 番目の例では、コンテンツを置き換えずにファイル /tmp/test.txt にコンテンツを追加します。コンテンツはファイルの末尾に追加されます。コンテンツの追加に使用される演算子は「>>」です 「.
構文:
echo "Some text to be appended" >> /path/to/file
例:
echo "More text from Vitux here" >> /tmp/test.txt
上記のコマンドは、テキスト「More text from Vitux here」をファイル /tmp/test.txt に追加します。 test.txt ファイルには、最初の例の「Greetings from Vitux.com」というテキストが既に含まれています。ファイルの内容を見てみましょう。再び cat コマンドを使用して、シェルにファイルの内容を表示します
cat /tmp/test.txt
リモート システムのファイルにエコー
別の Linux システムにあるファイルにテキストを書き込みたい場合があります。両方のシステムが LAN またはインターネット経由で接続されている限り、SSH を使用してそれを行うことができます。 ssh コマンドには -f コマンド ライン スイッチがあり、ssh によってコマンドを直接渡し、バックグラウンドに移動してパスワードを入力できます (必要な場合)。
例:
ssh [email protected] -f 'echo "Text added via SSH" >> /tmp/test.txt'
「user」は、リモート サーバーまたはデスクトップにログインするためのユーザー名です。 「remotesystem」という単語をリモート コンピューターのホスト名または IP アドレスに置き換えます。
リモート システムでコマンドを実行して、test.txt ファイルにテキストを追加しました。結果は次のとおりです。
これで、テキストをローカル システムのファイルにエコーする方法と、SSH を介してリモート システムでこれを行う方法を学習しました。