我想编写一个函数,通过传递已经建立的目录变量的名称来改变工作目录,例如:
foo () {
cd $"$1"
}
但是当我尝试,例如,foo links 我得到-bash:cd:links:没有这样的文件或目录
是否有可能做到这一点 ?
答案1
您可以使用变量间接寻址:
foo () {
cd "${!1}"
}
dir=/mnt
foo dir
pwd # /mnt
我想编写一个函数,通过传递已经建立的目录变量的名称来改变工作目录,例如:
foo () {
cd $"$1"
}
但是当我尝试,例如,foo links 我得到-bash:cd:links:没有这样的文件或目录
是否有可能做到这一点 ?
您可以使用变量间接寻址:
foo () {
cd "${!1}"
}
dir=/mnt
foo dir
pwd # /mnt