次のように、すでに確立されているディレクトリ変数の名前を渡して作業ディレクトリを変更する関数を記述したいと思います。
foo () {
cd $"$1"
}
しかし、例えばfoo linksを試みると、-bash: cd: links: No such file or directoryというメッセージが表示されます。
これは可能ですか?
答え1
変数間接参照を使用できます:
foo () {
cd "${!1}"
}
dir=/mnt
foo dir
pwd # /mnt