2

Iam newbee in bash scripts . .bashrc ファイルに行を追加しようとしています:

## make python 2.7 default in ~/.bashrc
echo 'export PATH=/usr/local/lib/python/bin:$PATH' >> ~/.bashrc  
source ~/.bashrc  

source コマンドが ~/.bashrc ファイルをリロードしていません。(ただし、プロンプトで実行すると機能します)

スクリプトから .bashrc をリロードするにはどうすればよいですか? どんな助けでも大歓迎です。

乾杯

4

1 に答える 1

1

あはは!現代の *nix システムは通常bashrc、次のように始まるシステム全体を持っています。

# System-wide .bashrc file for interactive bash(1) shells.

# To enable the settings / commands in this file for login shells as well,
# this file has to be sourced in /etc/profile.

# If not running interactively, don't do anything
[ -z "$PS1" ] && return
...
stuff follows

最後の数行を観察すると、問題が明らかになります。インタラクティブに実行していません。bashrcスクリプトをソースする前PS1に、次のように任意の値を設定します。

PS1='foobar'

スクリプトからbashrc突然ロードを開始する可能性があります。

于 2013-08-16T11:36:03.523 に答える