スクリプトを関数でラップするのはどうですか(関数は、システムファイルのbashプロファイル/ bashrcファイルのいずれかに配置して、すべてのユーザーが利用できるようにすることができます)。
myscript () { case $PWD in
/path/to/foo) path/to/myscript --var1=$VAR1 ;;
/path/to/bar) path/to/myscript --var2=$VAR1 ;;
*) ;;
case
}
したがって、関数myscriptは、現在の作業ディレクトリに基づいて何をすべきかを知っている実際の「myscript」を呼び出します。
これを例として取り上げます。
hmontoliu@ulises:/tmp$ myscript () { case $PWD in /tmp) echo I\'m in tmp;; /var) echo I\'m in var;; *) echo I\'m neither in tmp nor in bar; esac; }
hmontoliu@ulises:/tmp$ myscript
I'm in tmp
hmontoliu@ulises:/tmp$ cd /var
hmontoliu@ulises:/var$ myscript
I'm in var
hmontoliu@ulises:/var$ cd /etc
hmontoliu@ulises:/etc$ myscript
I'm neither in tmp nor in bar