2016-05-23 7 views
-1

SSH経由でLinuxマシン上でいくつかの特定のコマンドを実行するアダプターコードがあります。コマンドを実行し、指定された方法で各コマンドの出力を処理します。色付きbashプロンプトを扱う

問題は直面しています。

色を使用するBashプロンプトに接続しています。ここでPS1変数の詳細は、次のとおり

PS1="\[\033[1;34m\][\$(date +%H%M)][\[email protected]\h:\w]$\[^[[0m}\]" 

コードがコマンドで進む最初の有効な端末を決定し、正規表現を使用します。

は、例えば、.*\$は私がきちんと[^[[0m}を扱うように見えることはできませんし、コードが有効なものとして、端末を識別することができません

有効であると考えられます。私がPS1変数から削除すると、問題なく動作します。

正規表現が有効な端末として認識されるように正規表現を入力することはできますか?

+0

を?私はメタキャラクターから脱出しなければならないことを嫌い... – Laurel

+0

私は本当に確信していません。そして、ええ、私はそれを逃れる方法を知りません。前進する手がかりは? –

+0

待って、PS1は正規表現かどうか?もう少しコードを提供できますか? – Laurel

答えて

-1

上記のPS1変数が壊れていると思います。あなたは^[[0m}が適切に解釈されていない見ることができるように

[[email protected] ~] $ export PS1="\\[\033[1;34m\\][\$(date +%H%M)][\[email protected]\h:\w]$\\[^[[0m}\\]" 

[2137][[email protected]:~]$^[[0m} 

私はターミナルウィンドウで以下の実験を実行しました。私はそれがプロンプトの色の終わりであると仮定します。私はそれが​​であるべきだと思います。ここで

全体PS1変数です:

PS1="\\[\033[1;34m\\][\$(date +%H%M)][\[email protected]\h:\w]$\\[\033[0m\\]" 

それをテストした後、あなたがこの取得:拡張正規表現を使用することも可能である

[2137][[email protected]:~]$^[[0m}export PS1="\\[\033[1;34m\\][\$(date +%H%M)][\[email protected]\h:\w]$\\[\033[0m\\]" 

[2139][[email protected]:~]$ 
関連する問題