kshのechoで改行を制御

kshのechoで改行を制御

Linux(FreeBSD)kshのechoで改行を制御

ksh で改行しないように echo の -n オプションを使ってみましたが、どうやら -n オプションはサポートされていないようです。例えばスクリプトで処理を実行して、処理が完了したら OK を表示したいようなプログラムはどうやって書けばいいでしょうか。インストールなどによくある下記のようなコンソール表示です。

START |#
↓
START |#####
↓
START |################################### | OK

よくよく調べてみると、\c を使うことで改行を制御できるようです。エスケープシーケンスが用意されているのですね。これで問題解決ですが、間違って -n 書いちゃいそうだな(笑)他のエスケープシーケンスも一部紹介しておきます。

\a : 警告文字
\b : バックスペース
\c : 復帰改行なしで行を出力
\n : 復帰改行
\t : タブ
\\ : バックスラッシュ

FreeBSD の csh の実行例と合わせて、ksh の実行例も書いておきます。コンソールで実行したので、スクリプトで書くときは無理して 1 行でコマンドを書く必要はありません。

[csh(FreeBSD)]
$ echo -n "sara";echo "toga"

saratoga

[ksh(UNIX)]
$ echo "sara\c";echo "toga"

saratoga

最終更新日:

関連記事

人気記事

新着情報