Я использую Red Hat Enterprise 5.3 и пытаюсь добавить каталог в переменную $ path, но в ней есть пробелы. Переменная $ path разделена пробелами, так как я могу отличить пространство в абсолютном пути от пространства, которое разделяет пути?
3 ответа
Разве $ PATH не разделен двоеточием? В любом случае, вам нужно выйти из пробелов с помощью \
. Если бы вы хотели иметь каталог с именем my dir
, вы бы сделали что-то вроде этого:
PATH=/bin /usr/bin /home/user/my\ dir /sbin
Этот путь просто пример, не копируйте его дословно.
В моем случае (с использованием csh) переменная $ PATH мешала работе и не позволяла работать $ path, поэтому вот обходной путь:
set savePATH = $PATH
set path = ($path /usr/my\ dir/has\ spaces\ in\ it)
set PATH = ($savePATH)
Предостережение: пути с пробелами должны быть добавлены последними, если после этого вы добавите непустой путь к пути, он автоматически обновит $ PATH и прервет его снова.
Похоже, что Брэд использует csh или tcsh - у этих оболочек есть и $ path, и $ PATH. Оболочка поддерживает оба, когда вы меняете один.
Способ добавления каталога с пробелами в $ path:
% echo $path
/opt/local/bin /opt/local/sbin /usr/local/bin /usr/local/sbin /Users/dharris/bin
% echo $PATH
/opt/local/bin:/opt/local/sbin:/usr/local/bin:/usr/local/sbin:/Users/dharris/bin
% set path = ($path /tmp/directory\ with\ spaces)
% echo $path
/opt/local/bin /opt/local/sbin /usr/local/bin /usr/local/sbin /Users/dharris/bin /tmp/directory with spaces
% echo $PATH
/opt/local/bin:/opt/local/sbin:/usr/local/bin:/usr/local/sbin:/Users/dharris/bin:/tmp/directory with spaces