Я хочу написать функцию, которая изменяет рабочий каталог, передавая имя переменной каталога, которая уже была установлена, например:
foo () {
cd $"$1"
}
Однако когда я пробую, например, foo links, я получаю -bash: cd: links: Такого файла или каталога нет
Можно ли сделать это ?
решение1
Вы можете использовать косвенную адресацию переменных:
foo () {
cd "${!1}"
}
dir=/mnt
foo dir
pwd # /mnt