CentOS bashで(またはUbuntuなどの他のbashに共通の方法がある場合)、私が入力するコマンドとコマンドの出力をどのように区別しますか?
私がこのような質問をしたのは、画面に出力をたくさんする命令を使うとどこから始めるのかを見つけるのが難しいからです。たとえば、コマンドを明るい色で飾り、出力を暗い色で飾ったり、出力を4つインデントしたいとします。
これは次のようになります。
[root@westerngun ~]# ps aux | grep myname <- brighter
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx <- darker
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
または:
[root@westerngun ~]# ps aux | grep myname
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx <- indented by 4
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
答え1
まず、どこで実行しても構いませんbash
。bash
注目すべき唯一のものはバージョンです。たとえば、bash
4には3では利用できない新機能がいくつかあります。bash
PS1
つまり、あるコマンドを別のコマンドと区別するために(「プロンプト文字列1」)を設定すると、プロンプトの色をかなり簡単に指定できます。たとえば、自宅のコンピュータにログインすると、次のようになります。
ターミナル履歴をスクロールするときにプロンプトでターコイズテキストをオフにすると、1つのコマンドが終了し、もう1つのコマンドが開始されたことがわかります。
ちなみに私の場合はPS1
次のとおりです。
\[\e[38;5;14m\]\u\[\e[38;5;8m\]@\[\e[38;5;6m\]\h\[\e[38;5;8m\]:\[\e[38;5;10m\]\w \e[31m${?##0}\n\[\e[$(((($?>0))*31))m\]\$\[\e[0m\]
これには、コピーしてコマンドに貼り付けることができる文字列として、ユーザー名、ホスト名、およびCWDが表示され、scp
その後に前のコマンドの終了コード(ゼロ以外)が表示されます。