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

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

foo () {
   cd $"$1"
}

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

Возможно ли это сделать?

0
задан 16 July 2021 в 23:32

1 ответ

Вы можете использовать косвенное обращение к переменной:

foo () {
    cd "${!1}"
}

dir=/mnt
foo dir
pwd  # /mnt
3
ответ дан 28 July 2021 в 11:17

Другие вопросы по тегам:

Похожие вопросы: