Лучший способ просмотра изображений в вашем терминале на Mac — это iTerm +imgcat
(часть его утилит оболочки ). На самом деле вы можете установить imgcat
на машину с Linux, а затем подключиться к ней с помощью ssh в экземпляре iTerm, и он будет отлично отображать изображения.
Переменная не установлена по умолчанию (, по крайней мере, в системах, с которыми я знаком ), но может быть установлено для использования другого каталога для поиска целевого каталога, который вы указали cd
]. Вероятно, это легче проиллюстрировать на примере:
$ echo $CDPATH ## CDPATH is not set
$ cd etc ## fails: there is no "etc" directory here
bash: cd: etc: No such file or directory
$ CDPATH="/" ##CDPATH is now set to /
$ cd etc ## This now moves us to /etc
/etc
Другими словами, поведение по умолчанию для cd foo
— «перейти в каталог с именем 'foo', который является подкаталогом текущего каталога или любого другого каталога, указанного в CDPATH». Когда CDPATH
не установлен, cd
будет искать только в текущем каталоге, но, когда он установлен, он также будет искать совпадения в любом из каталогов, для которых вы его установили.
Двоеточие не используется с cd
, оно используется для разделения каталогов, которые вы хотите установить вCDPATH
:
CDPATH="/path/to/dir1:/path/to/dir2:/path/to/dirN"
Другие ответы объясняют основное использование CDPATH, но я думаю, что конкретный вариант использования является иллюстративным. Часто я обнаруживаю, что мне нужно многократно выполнять операцию внутри ряда подкаталогов, начиная с одного и того же корня.
cd ~/wrk
for d in */.git/hooks/; do
( cd "$d" && mv pre-commit pre-commit.off )
done
Подоболочка необходима для того, чтобы каждая итерация начиналась с одного и того же корня. Или это? Можем ли мы избежать повторения подоболочек здесь? Да мы можем!
cd ~/wrk &&
CDPATH=$PWD
for d in */.git/hooks; do
cd "$d" && mv pre-commit pre-commit.off
done
Это имеет дополнительное преимущество, поскольку cd сообщает нам, где мы находимся на каждом шаге.
А как насчет альтернативных имен каталогов? Я думаю, что пример Квазимодо особенно хорош. Если .
отсутствует в вашем CDPATH, то ваш CDPATH имеет приоритет. Но если вы хотите быть уверены, что каталоги прямо перед вами имеют приоритет, ваш CDPATH должен начинаться с .
.