bashrcファイルからのエクスポートとソースコマンドの使用

bashrcファイルからのエクスポートとソースコマンドの使用

私はUbuntuでbashを実行しており、Gaussian 16という計算化学プログラムを実行しようとしています。私の同僚は、ファイルに次の行を追加すると、Gaussian 16を実行できると言いました.bashrc

export g16root=/g16root
source $g16root/g16/bsd/g16.profile

.bashrc私の同僚は、この行をファイルに追加すると、必要な入力ファイルを含むg16 <input file>コマンドを使用してGaussian 16を実行できると述べました。<input file>

私のファイルは私のホームディレクトリ(つまり、).bashrcにあります。上記の2行を私のファイルに追加しようとすると、bashは( " ")が何であるかわからないことを伝えます。~/export/home/myusername/.bashrcg16 <input file>g16g16: command not found

しかし、、私が実装する(それぞれ)bashで上記の2行(つまり、上記のコマンドexportsourceコマンド)を入力すると、bashはg16それが何であるかを知ります。つまり、g16 <input file>ソフトウェアを実行して追加でwhich g16提供されます。したがって、これは機能しますが、andコマンドを/g16root/g16/g16再入力する必要があります。exportsourceすべて(リモート)コンピュータにログインした時間。

私は初めてbashに触れますのでご了承ください。しかし、bashに自分のファイルを「実行」してexportコマンドさせるようにするにはどうすればよいですか?source.bashrc

役に立つ場合は、私のファイル.bashrc全体(コメントアウトされた行を除く)は次のようになります。

test -s ~/.alias && . ~/.alias || true

if [ -f /etc/bashrc ]; then
        . /etc/bashrc
fi

export g16root=/g16root
source $g16root/g16/bsd/g16.profile

(最初の2つのコードブロックがなぜなのかわかりません。)

また、実行がecho $BASH_VERSION提供さ4.1.5(1)-releaseれるので実際にはbashを使用しています。

ベストアンサー1

ilkkachuが言ったように、.bashrcこれは処理されませんでした。ログインシェル- のみ.profile。 (この動作はUbuntuにのみ当てはまります。わかりません。)

.bashrc次の行を追加して、ログインシェルの処理を促すことができました.profile

# if running bash
if [ -n "$BASH_VERSION" ]; then
     # include .bashrc if it exists
     if [ -f "$HOME/.bashrc" ]; then
         . "$HOME/.bashrc"
     fi
fi

おすすめ記事