pushd home dir, а не использовать тильду?

Использование команды pushd в вашем домашнем каталоге дает вам ~, но когда я пытаюсь получить к ней доступ
cd $(dir +1) , он дает ошибку cd: ~: No such file or directory , после некоторых исследований (пожалуйста, исправьте меня, если я ошибаюсь). Я думаю, что ошибка заключается в том, что ~ не используется в начале строка, а знак ~ не изменяется в /home/myname .

Есть ли способ исправить это?

Используйте dirs -l +1 для печати полного пути к каталогу без аббревиатуры. Расширение Тильды происходит только тогда, когда оно вводится явно, а не в результате вывода команды.

 cd $(dirs -l +1) 

Кроме того, используйте zsh, где вы можете просто написать

 cd +1 

Но даже в bash вы можете просто написать

 pushd +1 

который имеет почти такой же эффект (он оставляет стек в другом порядке).