0

私の .bashrc ファイルには、次の行があります。

alias cd='_cd'

function cd() 
{
    cd "$1"
    PS1='[$USER] "$PWD" $ '
}

ただし、.bashrc を入手した後、コマンドを実行しようとするたびに、プロセスが完了したというメッセージが表示され、シェルからロックアウトされます。

[prompt] $ source ~/.bashrc
[prompt] $ cd ~

[Process completed]

プロセス完了メッセージを取得せずにこの関数を簡単に実装するにはどうすればよいですか?

4

2 に答える 2

2

あなたのcd関数は再帰的であり、最終的にシェルが深くなりすぎてあきらめます。

cd関数内でシェルを呼び出していることを確認します。

cd() {
    builtin cd "$1"
    PS1='[$USER] "$PWD" $ '
}

プロンプトを次のように定義する場合は、これを行う必要はありません。PS1='[\u] "\w" \$ '-- bash man ページの PROMPTING セクションを参照してください。

于 2015-12-02T02:31:49.070 に答える