こんにちは!はづきです
文系から一部上場IT企業に就職し、エンジニアをやっています
この記事では文字列を表示するechoコマンドの使い方について説明します
Linux学習で一番はじめに学ぶことが多い、基本的なコマンドです。Linuxのコマンド操作に慣れるためにも実際にコマンドを入力しながら実行結果を確認してみてください
※この記事は初心者向けに平易に解説しています。正確な理解をしたい人は専門書・専門家をあたっていただければと思います。また、この記事の情報におけるCPの動作結果については自己責任でお願いします。
※本サイトにはプロモーション・広告が含まれています(はづきのブログより)
基本操作:echoコマンドで文字列を表示する方法
echoコマンドは文字列を表示するコマンドです
echoには「こだま」「繰り返し」という意味があり、echoコマンドもその意味の通りユーザが指定した文字列をそのまま表示してくれます
echo <表示したい文字列>
echo <表示したい文字列>
まずは基礎的な使い方です。<表示したい文字列>部分を変えながら実行してみてください
「はづきのブログです!」という文字列をechoコマンドを使って表示してみます
■実行例
echoコマンドのオプション3つを紹介
echo <オプション> <表示したい文字列>
次にechoコマンドのオプションについて解説します
Linuxで用意されているコマンドには、それぞれオプションと呼ばれる指定値があります。指定するオプションによってコマンドの処理動作を変えることができます。目的に合わせて使い分けましょう。
-n 出力文字の最後の改行を取り消す
echoコマンドは表示する文字列の最後にデフォルトで改行が入ります
そのため、「表示した文字列」と「次のコマンドライン」の間で改行されるわけです
-nオプションは出力文字の最後の改行を取り消すことができます
※表示文字列の最後に入る改行が取り除かれたため、次のコマンドラインが表示文字列と同じ行に表示される
-e エスケープ文字を有効にする
「-e」はエスケープ文字を有効にするオプションです
エスケープ文字は「\」で指定される特別な意味を持つ文字です。例えば、「\n」は改行を意味するエスケープ文字であり、指定した部分で改行されます(\はバックスラッシュで表記されることもあります)
エスケープ文字を使用する際には、表示したい文字列を「" "」で囲む必要があります
※実行例(1行目:-eなしで実行 3行目:-eありで実行)
-E エスケープ文字を無効にする(デフォルト設定)
-Eオプションはエスケープ文字を無効化します
デフォルトで機能するため明示的に指定する必要はありませんが、せっかくなので知っておきましょう
※-Eオプションを指定することで改行のエスケープ文字(\n)がそのまま表示されている
応用操作:echoコマンドの様々な使い方
echoコマンドの応用的な使い方を解説します
他の知識との組み合わせなので多少前提知識が必要になります。あらかじめご了承ください
変数の値を表示する
変数の値をechoコマンドで表示するためには、「$<変数名>」で指定する必要があります
hazuki@hazukiBlog:~$ var1="はづきのブログです!" #変数var1に文字列を代入
hazuki@hazukiBlog:~$ echo $var1 #echoでvar1の値を表示
はづきのブログです! #変数に設定された値が表示される
hazuki@hazukiBlog:~$ unset var1 #unsetでvar1を削除
hazuki@hazukiBlog:~$ echo $var1 #echoでvar1の値を表示
#削除後のため表示されない
hazuki@hazukiBlog:~$
クォーティングによって変数展開する
クォーティングの仕方によって変数の表示の仕方が変わります
hazuki@hazukiBlog:~$ var1="pwd" #var1に「pwd」を代入
hazuki@hazukiBlog:~$ echo '$var1' #シングルクォートで表示する場合
$var1 #→文字列としてそのまま表示
hazuki@hazukiBlog:~$ echo "$var1" #ダブルクォートで表示する場合
pwd #→変数の値を表示
hazuki@hazukiBlog:~$ echo `$var1` #バッククォートで表示する場合
/home/hazuki #→変数の値「pwd」がコマンドとして実行される
hazuki@hazukiBlog:~$
テキストファイルに出力する
標準出力を利用してechoで指定した文字列をファイルに出力することができます
・新しいファイル名を指定して「>」で出力すると新規ファイルが作成されます↓
hazuki@hazukiBlog:~$ ls #ファイルがないことを確認
hazuki@hazukiBlog:~$ echo ファイルに出力します > sample1.txt #文字列をファイルに出力
hazuki@hazukiBlog:~$ ls #ファイルが新規作成されていることを確認
sample1.txt
hazuki@hazukiBlog:~$ cat sample1.txt #ファイルの中身を確認
ファイルに出力します
※文字列...「ファイルに出力します」、ファイル名...「sample1.txt」
・既存のファイルで標準出力「>」を実行すると上書きされます↓
hazuki@hazukiBlog:~$ cat sample1.txt #ファイルの中身を確認
ファイルに出力します
hazuki@hazukiBlog:~$ echo ファイルを上書きします > sample1.txt #文字列をファイルに出力
hazuki@hazukiBlog:~$ cat sample1.txt #ファイルの中身が上書きされていることを確認
ファイルを上書きします
・既存のファイルで標準出力「>>」を実行すると追記されます↓
hazuki@hazukiBlog:~$ cat sample1.txt #ファイルの中身を確認
ファイルを上書きします
hazuki@hazukiBlog:~$ echo ファイルに追記します >> sample1.txt #文字列をファイルに出力
hazuki@hazukiBlog:~$ cat sample1.txt #先の出力内容が追記されていることを確認
ファイルを上書きします
ファイルに追記します
終了ステータス($?)を確認する
終了ステータスは1つ前のコマンドが正常終了したかどうかを判断するために使用されます
正常終了した場合は「0」が返され、異常終了した場合は各コマンドで定義された「0」以外の値が終了ステータスとして返されます
終了ステータスの表示には「$?」を指定します
hazuki@hazukiBlog:~$ pwd #pwdコマンドを実行する
/home/hazuki
hazuki@hazukiBlog:~$ echo $? #pwdコマンドが正常に実行されたため「0」を返却
0
hazuki@hazukiBlog:~$ ppp #pppという存在しないコマンドを実行する
Command 'ppp' not found, but there are 19 similar ones.
hazuki@hazukiBlog:~$ echo $? #存在しないコマンドのため「0」以外が返却
127
hazuki@hazukiBlog:~$
今回は「echo」コマンドの使い方についてまとめてみました
みなさんの学習のお役に立てば幸いです。最後まで読んでいただきありがとうございます
おしまい
コメント