0

bash スクリプトから pythonbrew を非アクティブ化しようとしています。シェル内での入力pythonbrew offは正しく機能します。
私のbashスクリプトpythonbrew offでは無視されます。echo を使用すると、次のようになります。

omer@omer-VirtualBox:~/Projects/devenv$ echo $("pythonbrew off")
pythonbrew off: command not found

関数を呼び出すと、プログラムは失敗メッセージを出力せずに終了します。
関数は次のとおりです。

function deactivate_pythonbrew()
{
    echo "Detecting whether Pythonbrew is installed."
    pythonbrew_version="$(pythonbrew --version 2>&1)"
    if [ -n $pythonbrew_version ]
    then
        echo "Pythonbrew $pythonbrew_version found."

        if [ -n $pythonbrew ]
        then
            pythonbrew off || echo "Failed to deactivate pythonbrew. Aborting." && exit $?
        else
            echo "Pythonbrew is inactive. Skipping."
        fi
    else
        echo "Pythonbrew is not installed. Skipping."
    fi
}
4

1 に答える 1

0

source $HOME/.bashrc/etc/bashrc関数がスクリプトにインポートされていないため、私がしなければならなかったことがわかりました。~/.bashrc ファイルにありますが、私source $HOME/.bashrc/etc/bashrcが理解している限り、関数はサブプロセスにインポートされていません。

于 2012-04-06T07:16:31.317 に答える