私の最近の投稿から:(https://stackoverflow.com/questions/15046851/linux-colorizing-text-in-files)
これで、端末ウィンドウでテキストの色を指定できるようになりました。 (使用echo
)
/etc/issue
今すぐ実行することを決めるたびに、スクリプトを上書きするシェルスクリプトを実行したいと思います。
これは私のスクリプトです。
#!/bin/sh
# re-write /etc/issue
echo "Welcome Back!........whatever message I will put later on" > /etc/issue
今「ウェルカムバック!」テキストに色を付けようとしています。
~によるとこのウェブサイト、カラーコードをエスケープするにはCtrl + V + ESCを使用する必要がありますが、書き換えを目的としてシェルスクリプトでこれを行うにはどうすればよいですか/etc/issue
?
作成者が提供した例(rc.issue)をコピーして貼り付けました。実際には/etc/issue
起動時にファイルを上書きしますが、色はありません。プレーンテキストのみが表示されます。
誰でも私にこれを教えてもらえますか?
答え1
シェルだけでなく、ほとんどのシェルで動作する1つの方法は、bash
シェルスクリプトのテキストにエスケープ文字が表示されることを確認することです。
を使用している場合は、エスケープ文字を入力するにはvim
入力を続ける必要があります。Control-VEscapeそうしないと、エスケープ文字が挿入モードからコマンドモードに戻ります。
他の編集者には、これをより簡単にまたはより困難にする欠点がある場合とない場合があります。
移植性を使用していてbash
移植性に興味がない場合は、\e
エスケープ記号を使用する他のオプションを使用できます(bash
関連トピックを参照)。ANSI-Cの引用)。たとえば、
escape=$'\e'
しかし、これは他のすべてのシェルでは機能しません。