Linuxのコマンドを使用して、ハードコードされたテキスト行をファイルに追加するとします。どうしますか?明らかなアプローチは、エディターでファイルを開き、手動で行を入力することです。しかし、このタスクで自動化する必要がある場合を考えてみてください。その場合のあなたの選択肢は何ですか?
ええと、コマンドがあります-エコーと呼ばれます -前述のユースケースで使用できること。このツールが役立つことが証明されている他の状況もいくつかあります。このチュートリアルでは、echoの基本と、echoが提供するコマンドラインオプションについて説明します。ただし、その前に、このチュートリアルで説明されているすべてのコマンドと手順がUbuntu16.04LTSでテストされていることを共有する価値があります。
Linuxエコーコマンド
コマンドの一般的な構文は次のとおりです。
echo [SHORT-OPTION]... [STRING]...
echo LONG-OPTION
そして、これがツールのマニュアルページに書かれていることです:
echo - display a line of text
Echo the STRING(s) to standard output.
次のQ&Aタイプの例は、echoコマンドがどのように機能するかについてのより良いアイデアを提供します。
Q1。 echoを使用して出力にテキスト行を表示するにはどうすればよいですか?
これは非常に簡単です。必要なのは、echoコマンドへの入力としてテキスト行を渡すことだけです。
echo [line-of-text]
次に例を示します:
さて、このチュートリアルの最初に出された質問に来て、既存のファイルに行を追加したい場合は、echoを使用してこれを行う方法を次に示します。 :
echo[テキスト行]>>ファイル名
前述のコマンドの動作は次のとおりです。
Q2。エコー出力で末尾の改行文字を無効にするにはどうすればよいですか?
デフォルトでは、echoコマンドの出力は改行文字で終了します。ただし、必要に応じて、 -nを使用してこの動作を変更できます。 コマンドラインオプション。
次のスクリーンショットは、-nが使用されたときに出力に改行が含まれていなかったことを示しています:
Q3。エコーはバックスラッシュエスケープをどのように処理しますか?
デフォルトモードで使用される場合、echoコマンドはバックスラッシュエスケープを特殊文字として扱わないため、特別な方法でそれらを解釈しません。たとえば、次のスクリーンショットは、バックスペース(\ b)文字が出力にそのまま表示されたことを示しています。
ただし、必要に応じて、 -eを使用してこの動作を変更できます。 コマンドラインオプション。
これで、特殊文字がバックスペースとして解釈され、出力で「o」が削除されたことがわかります。
Q4。エコーがlsコマンドの代替として機能することがありますか?
特定のシナリオでは、lsの代わりにechoを使用することもできます。たとえば、現在のディレクトリ内のすべての.jpgファイルを一覧表示するには、次のコマンドを実行するだけです。
echo *.jpg
Q5。エコーは他の実際のユースケースでどのように役立ちますか?
echoコマンドは、コマンドラインで変数(シェルと環境の両方)を操作するときに非常に便利です。具体的には、ツールを使用して変数の値を簡単に表示できます。必要なのは、変数名($記号の前)をechoコマンドに渡すことだけです。
次のスクリーンショットは、いくつかの例を示しています。
明らかに、echoは小さなコマンドラインユーティリティであり、多くのコマンドラインオプションを提供していませんが、約束どおりに機能します。このツールに関連する学習曲線は正確にはありません。ここで説明したことを理解して試してみてください。詳細については、echoのマニュアルページにアクセスしてください。