「太字」と入力してOS X端末コマンドを作成する


11

ターミナルに入力(入力)したコマンドをすべての出力から目立たせたい。

例えば:

imac:〜buster $ chmod -R gw myfolder
imac:〜buster $ cd myfolder
imac:myfolder buster $ ls -l
total 0
drwxr-xr-x 9 root admin 306 Apr 20 2010 bin
drwxr-xr-x 7 root admin 238 Apr 20 2010年
drwxr-xr-x 73ルート管理者2482 5月18日17:16 lib
drwxr-xr-x 6ルート管理者204 2010年4月20日man
imac:myfolder buster $ echo Go Giants!
巨人だ!

大胆にジャンプしますが、色を受け入れるか、行全体を強調することもできます...

私はこれを行う方法があると確信していますが、それは私には明らかではありません...

ありがとう!

回答:


9

~/.bash_profileまたはを編集し~/.bashrc(以下のGillesのコメントを参照)、次の行を追加します。

BOLD="\[\033[1m\]"
OFF="\[\033[m\]"
PS1="${OFF}\u@\h:\w \$${BOLD}"
PS2="> ${BOLD}"
trap 'echo -ne "${OFF}" > $(tty)' DEBUG

${BOLD}プロンプトの一部も太字にするには、周囲を移動します。プロンプト自体に色を付けない場合は、${OFF}接頭辞in が必要ですPS1。そうでない場合は、空の行(何かを書かずにEnterキーを押す)で、次のプロンプトが太字になります(@Jayに感謝します!)

これにより、太字フォーマットをオフにするデバッグトラップが追加されるため、かなりハックになります。クレジット(OS Xではグループttyなしでも機能します)。

これはちょっとしたハックなので、自己責任で使用してください。

PS1/ PS2プロンプトを太字に設定するだけが簡単で、同じように表示されます。

BOLD="\[\033[1m\]"
OFF="\[\033[m\]"
PS1="${BOLD}\u@\h:\w \$${OFF}"
PS2="${BOLD}>${OFF} "

1
ではありません~/.bash_profileが、~/.bashrc(または.bashrcからのソースでない場合は両方.bash_profile)。これらの設定は、bashの対話型インスタンスごとに設定する必要があり.bash_profile、ログインシェルによってのみ読み取られます。
ジル「SO-悪であるのをやめる」

ありがとう、私の答えを編集します。私にはないbashrcので、そこにあったものを使いました。
ダニエルベック

2
私はそれを考え出して、$ {OFF}を前面に配置しました:PS1 = "$ {OFF} \ u @ \ h:\ w \ $$ {BOLD}"
ジェイ

1
@Daniel:にアンダースコアがあってはいけません~/.bashrc
追って通知があるまで一時停止します。

1
コマンド履歴を調べるために上向き矢印を4回続けて使用すると、古いコマンドの最初の3文字がプロンプトの一部になり、それらを削除する方法はありません。バックスペースキーでは削除できません。
ジェイ

2

El Capitanを使用しているときに、ここでのソリューションに少し問題がありました(特にiTerm2ですが、普通の古いターミナルでも)。2種類のエラーが発生しました。

  1. スペースを押してからバックスペースを押すだけでbashプロンプトを完全に削除する機能
  2. 不要な文字が私のbashの出力に入り込んでいます。たとえば、入力pwdは次のようになります。

    \[\]/Users/home/Directory

    または

    \e[0m/Users/home/Directory

私は次の解決策を提案しますが、これは実際には同じです。

    BOLD="\033[1m"
    OFF="\033[m"
    PS1="${OFF}\u@\h :${BOLD}"
    PS2="> ${BOLD}"
    trap 'echo -ne "${OFF}" > $(tty)' DEBUG

良くやった!わずかなわずかな違いがありますが、これがEl Captainと連携する方法を見つけてくれてうれしいです。
-DrZoo
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.