cd "$(<~/.last_dir)"
Во-первых, поместите кавычки вокруг $(...)
, чтобы сделать пробел частью имени файла.
Во-вторых, $(<...)
- это конструкция bash
, которая читает файл напрямую без выполняется cat
, но не является полностью переносимым.
Для более обобщенной c, менее bash -specifi c версии используйте решение Максима.