Це фокус із командного рядка з книги "Продуктивний програміст":
pushd `which java`/..
Автор каже, що ця команда може тимчасово перейти до каталогу, де живе виконувана команда java .
Коли я вводив цю команду в Linux, Баш скаржився, що:
bash: pushd: /usr/bin/java/..: Not a directory
Я також намагався змінити каталог /usr/bin/java/..
безпосередньо:
$ pushd /usr/bin/java/..
bash: pushd: /usr/bin/java/..: Not a directory
Чому я провалився? Чому не можна змінити каталог, використовуючи /..
? Як змінити цю команду для виконання того ж завдання?
1
Java - це файл у цьому каталозі. Спробуйте використовувати dirname ...
—
Jeff Schaller
path/..
залежить від шляху до каталогу (де '..' є посиланням на його батьків).