3つの設定ファイルがあります:.bashrc
source.bashrc_common
と.profile
source .bashrc
。残念ながら、Gnomeにログインするとin.bashrc
コマンドが見つからないというエラーメッセージが表示されます。foo
ところで、foo
ソースファイルに定義されていますが、.bashrc
なぜ見つかりませんか?
# .profile
if [ -f "$HOME/.bashrc" ]; then
. "$HOME/.bashrc"
fi
# .bashrc_common
function foo {
echo "foo $1"
}
# .bashrc
source $HOME/.bashrc_common
#.....
foo "hello"
これはfoo
、ターミナルbashシェルのどこでも動作し、エラーが発生するUbuntuログインだけです。
答え1
.bashrcから取得したファイルには、非対話型で呼び出すときに実行を防ぐ明示的な保護があります。ストーリーのレッスンは - Gnome実行設定ファイルに問題がある場合は、明示的な「インタラクティブシェルでのみ実行」チェックがないことを再確認してください。
答え2
あなたのGNOMEは、対話型の非ログインシェルではなくログインシェルを実行しているようです。その理由はbashrcソースがありません。
ちょうど最後に追加してください。bash_login次のように:
source ~/.bashrc