プログラミング言語や環境設定を中心としたパソコン関連の技術メモです。
主にシステム開発中に調べたことをメモしています。TIPS的な位置付けで、気が向いたときにちまちま更新していきます。
Linux、echoにはシェルの内部コマンドとしてのechoと外部コマンドとしてのechoがあるらしい
うん、書きたい事は全部タイトルに書いちゃったのですけどね。

よく使われる「echo」コマンドにはシェルの内部コマンド(ビルトインコマンド)であるechoと
外部コマンド(ふっつーのコマンド)であるechoがあるらしい。
そして通常はシェルの内部コマンドである方のechoが使われているらしい。

10年以上この業界にいて、知りませんでした(==;
てか、意識したこともありませんでした。

まぁ内部だろうと外部だろうとそんなに大した違いは無いのですが、
オプションが動くかが微妙に異なるので気を付けてください。

論より証拠、こんなシェルスクリプトを実行するとφ(--)

#!/bin/sh

#内部コマンドのecho
echo -e "\123"

#外部コマンドのecho
/bin/echo -e "\123"

こんな結果になりますφ(--)

\123
S

「-e」オプションはエスケープシーケンスを有効にするオプションです。
「\123」の部分は「8進数3桁で123に対応するASCII文字」の指定です。

内部コマンドのechoは「-e」オプションが利いていないですね。

滅多にハマることは無いと思いますが、オプションを指定する際は意識してください。
「-n」以外のオプションは内部コマンドのechoでは利かないようですよ。

完了\(--)/
スポンサーリンク
 
このエントリーをはてなブックマークに追加 

category:● Linux  thema:システム開発 - genre:コンピュータ  Posted by ササキマコト 

  関連記事