私はこれを理解するために本当に誠実な努力をしましたが、できません。これは私の非常に単純な bash スクリプトです。「export」と「echo」で始まる行は機能しているように見えるので、スクリプトが実行されていることがわかります。ターミナルのプロンプトで「source」で始まる行を入力すると、コマンドが実行中であることを示す多くの出力が表示されますが、スクリプトを実行しても何も起こりません (実際、その後 Freesurfer を使用しようとすると、機能していないということです)。私は bash スクリプトについて理解できない非常に基本的なことがあると感じていますが、チュートリアルを見てもそれが何であるかを理解することはできません。
#!/bin/bash
export FREESURFER_HOME=/foo/freesurfer
echo "starting freesurfer"
echo $FREESURFER_HOME
source $FREESURFER_HOME/SetUpFreeSurfer.sh
export SUBJECTS_DIR=/bar/my_dir