前回まで何回か、ファイルやディレクトリの操作を通して、Terminal.appでも普通の作業が出来るということを書いてみたつもりです( ´ ▽ ` )ノ
さて、では、何故Terminal.appを使うのか?Terminal.appでしかできないことって何なのか?
ちょっとこの辺りを書いてみたいなと。
Terminal.appの裏に居るモノを、職業で言えばコンシェルジュ的なモノと捉えると…
Terminal.appで操作していることは、要求を直接端末に打ち込み、それに対する結果を表示してもらう。ということになります。
まず、今回は単純にTerminal.appで表示だけしてもらうということをやってみたいと思います( ´ ▽ ` )ノ
- echo - write arguments to the standard output
- printf - formatted output
Terminalで表示をしてもらう
↑ 実行イメージになりますが、やっていることはほとんど同じことです。
$ echo 'Hello, world!' Hello, world! $ $ echo -n 'Hello, world!' Hello, world!$ $ $ printf 'Hello, world!' Hello, world!$ $ $ printf 'Hello, world!\n' Hello, world! $ $ printf 'Hello, %s!\n' 'world' Hello, world! $
Terminal.appに、「コレ表示して」といったら「コレ」を表示してくれた、という感じでw
ちょっと分けて説明するのが難しいので…
echo
とprintf
を纏めて説明をします。
どちらもパラメータとして渡した文字列をそのまま表示してくれます。
↓ まずはecho
になりますが…
オプションパラメータとして-n
を指定するかどうかで微妙に動作が変わります。
上記のコマンドイメージでは少しわかりにくいかもしれないので…
これは自分でTerminal.appでコマンドを打って動作を確認してください!
# 大丈夫、これだけならTerminal.appに喰われたりしないし、Macが壊れる事もない…ハズ
↓ 次にprintf
を説明する前にこちらを見てもらえると…
echo -n
とprintf
そのままと、基本的に動作は同じとなります( ´ ▽ ` )ノ
↓ そしてprintf
は…これは、所謂C言語などのプログラミング言語の経験がある方ならわかりやすいのですが…
echo
では出来ない細かい文字列操作的なことが簡単にできるコマンドです。
その代わり、echo(-nなし)
でやってくれていた改行などの指示を自分でしないといけないという。
まぁ、余り細かい操作をしないという前提であれば、大半はecho
で事足りますので、**コレじゃ駄目だ!と思うまではprintf
のことは忘れていても問題ありません(^_^;)
纏めると…
echo
さんの場合、「'Hello, world!'
って言って!」とお願いすると、親切に改行付きで『'Hello, world!'
』と言ってくれる。echo
さんでも、「改行付けないで(-n
)'Hello, world!'
って言って!」とお願いすると、ちゃんと改行抜きで『'Hello, world!\n'
』と言ってくれる。printf
さんの場合、「'Hello, world!'
って言って!」とお願いすると、指示そのままで『'Hello, world!'
』と言ってくれる。printf
さんに改行をお願いしたければ、「(こいつ気が利かないから、改行も伝えないとな…)'Hello, world!\n'
って言って!」とお願いすると、やっぱり指示そのままで『'Hello, world!\n'
』と言ってくれる。
※説明抜けてましたが、\n
というのは、Terminal.appや所謂C言語などのプログラミング言語で、改行を示すコードです(^_^;)
ということで、今回はまず「表示してみる」という単純な動作をやりました。
何度かに分けて、もう少し複雑な操作をできるように説明したいと思います( ´ ▽ ` )ノ
# 次回は第2回で「次」と言っていたのにすっかり忘れてたls
の説明しますorz