Рейтинг:0

Можно ли написать функцию bash для смены каталога, передав имя переменной каталога?

флаг kr

Я хочу написать функцию, которая изменяет рабочий каталог, передавая имя уже установленной переменной каталога, например:

фу () {
   компакт-диск $"$1"
}

Однако, когда я пытаюсь, например, foo ссылки я получил -bash: cd: ссылки: нет такого файла или каталога

Можно ли это сделать ?

флаг hr
См. [Как мне назначить переменную в Bash, имя которой расширено ($) из другой переменной?](https://askubuntu.com/questions/926450/how-do-i-assign-a-variable-in-bash -чье-имя-расширено-от-другого-вариа)
Рейтинг:3
флаг tm

Вы можете использовать косвенную переменную:

фу () {
    компакт-диск "${!1}"
}

дир=/мнт
фу директор
pwd # /мнт

Ответить или комментировать

Большинство людей не понимают, что склонность к познанию нового открывает путь к обучению и улучшает межличностные связи. В исследованиях Элисон, например, хотя люди могли точно вспомнить, сколько вопросов было задано в их разговорах, они не чувствовали интуитивно связи между вопросами и симпатиями. В четырех исследованиях, в которых участники сами участвовали в разговорах или читали стенограммы чужих разговоров, люди, как правило, не осознавали, что задаваемый вопрос повлияет — или повлиял — на уровень дружбы между собеседниками.