• このエントリーをはてなブックマークに追加

【linux豆知識】echoコマンドの便利なオプション

  • このエントリーをはてなブックマークに追加

zaco muraです。

身近なコマンドのオプションシリーズ、今回はechoコマンドについて書きます。

大前提 : echoコマンドって?

コマンドライン上でテキストを表示するコマンドです。シンプルなコマンドなのであまり複雑なことはできませんが、意外と便利なこともできます。

環境

echoコマンドは比較的OSなどにより環境依存してしまいがちなコマンドです。
本記事はCentOSを想定しております。

改行させない : -n

デフォルトでは末尾に改行が入ってしまいますが、改行させたくない場合に使います。
対話的なシェルスクリプトなどで入力を促す時に使うと直感的でわかりやすい気がします。

### 通常は以下のようになりますが
[zacomurata@zacodesign ~]$ echo "hello world"
hello world
[zacomurata@zacodesign ~]$ 

### -n を付けると以下のようになります。
[zacomurata@zacodesign ~]$ echo -n "hello world"
hello world[zacomurata@zacodesign ~]$

改行をたくさん入れたい : -e と \n

逆に、1行の中で改行をたくさん入れたい場合は-eを使います。
-e は \n とか \r とかの文字(なんて言うんだっけ、特殊文字??)を解釈してくれるモードです。

[zacomurata@zacodesign ~]$ echo -e "hello \nworld"
hello
world
[zacomurata@zacodesign ~]$

表示に色を付けたい : -e と \e[??m

出力時に色を付けることもできます。
正常性をチェックするツールなんかに使うと直感的で判断ミスを減らすことができそうです。

### 赤色で表示
[zacomurata@zacodesign ~]$ echo -e "\e[31mhello world red\e[m"
hello world red

### 緑色で表示
[zacomurata@zacodesign ~]$ echo -e "\e[32mhello world green\e[m"
hello world green

### 黄色で表示
[zacomurata@zacodesign ~]$ echo -e "\e[33mhello world green\e[m"
hello world green

ちなみに表示結果はこのようになります
echo_color

構文としては

\e[31m

この部分が、”ここからは31という色(赤)で表示します”ということと
末尾の
\e[m

が “ここまでは色を変えていました”という意味です。
もうおわかりだとは思いますが、”31″の部分を変えれば色が変わります。

以上、echoコマンドの便利なオプションでしたー

スポンサーリンク
Sponsords Link
  • このエントリーをはてなブックマークに追加

ZacoDesign

スポンサーリンク
Sponsords Link