Я хотел бы изменить каталог на файл, указав псевдоним:
alias direc=`cd | echo dirname "$1"`
, но это не работает. Любые идеи ценятся за то, как я могу реструктурировать это.
Вы идете назад. Результатом dirname должен быть аргумент до cd, а не dirname, пытающийся использовать вывод cd.
dirname
cd
Кроме того, вместо функции используйте функциюпсевдоним.
direc () { cd "$(dirname "$1")" }