Bash:プロンプトを変更し直すまでコマンドプロンプトを永久に変更する方法は?

Bash:プロンプトを変更し直すまでコマンドプロンプトを永久に変更する方法は?

2 つのコマンドが必要です。最初のコマンドはプロンプトを$␣またはに減らします#␣。これはlong_prompt、プロンプトをデフォルトバージョンにリセットするコマンドを実行するまで、現在のシェルで永続的でなければなりません。

short_promptコマンドスクリプトは次のとおりです。

if [ $(id -u) = 0 ]; then
   PS1='\[\033[01;34m\]#\[\033[00m\] '
else
   PS1='\[\033[01;34m\]\$\[\033[00m\] '
fi

(ご覧のように、管理者シェルとユーザーシェルの異なるプロンプトを尊重します。)
このスクリプトを次のように取得したとき:

$ . short_prompt

すべてが期待どおりに機能しますが、これを行うには、次のようにディレクトリにあるか、フルパスshort_prompt名を指定する必要があります。

$ . /data/system/bin/short_prompt

/usr/local/binこのコマンドをどこからでもアクセスできるようにする方法(たとえば、パスディレクトリの1つへのソフトリンクを作成して)を理解し、次のように入力する方法がわからないようです。

$ short_prompt

または

$ long_prompt

export私は前に2行を追加しようとしましたが、PS1='...'そのうちの1つも機能しませんでした。

ベストアンサー1

実行中のシェルのPS1に影響を与える唯一の方法は、コードを取得することです。

この問題を解決する方法はいくつかあります。

  1. /home/user/bin にスクリプトを挿入します。

    実行可能なスクリプト名を指定しshort_promptます/home/user/bin

    #!/bin/bash
    . /data/system/bin/short_prompt
    

    これにより実行が簡単になります。

    $ショートプロンプト

  2. エイリアスを指定してください

    $ alias short_prompt='. /data/system/bin/short_prompt'
    

    実行は次のとおりです

    $ short_prompt
    
  3. 使用~/.bashrc:

    コードを「~/.bashrc」に関数として配置します。

    short_prompt(){
        PS1='\[\033[01;34m\]\$\[\033[00m\] '
    }
    

    呼び出し方法は次のとおりです。

     $ short_prompt
    

おすすめ記事