В оболочке Bash:
export FOO="/a/b/c"
И вы не хотите использовать $ path. Это особая переменная.
Например, есть длинный путь, по которому я cd
часто бываю. Как мне сохранить путь в переменной, чтобы я мог использовать его каждый раз?
Например: я хочу быть в состоянии сделать это
cd $path
вместо
cd /a/b/c/d/e/f
каждый раз.
В оболочке Bash:
export FOO="/a/b/c"
И вы не хотите использовать $ path. Это особая переменная.
Маловероятно, что вам нужна ваша переменная в среде.
Итак, вместо csh setenv
вы можете сделать:
set dir="/a/b/c/d/e/f" cd $dir
или в Bash вместо export
:
dir="/a/b/c/d/e/f" cd $dir
предполагая, что вы действительно хотите синтаксис csh / tcsh (как вы отметили свой вопрос), поставьте это
setenv P1 "/a/b/c/d/e/f"
на ваш .tcshrc
после этого вы можете сделать
cd $P1
Используйте экспорт.
export your_path = "/ a / b / c / d / e / f"
cd $ your_path
Если вы хотите, чтобы он сохранялся при входе в систему, вам нужно отредактировать его в файле .profile.
Для csh вы, вероятно, хотите использовать cdpath . Для bash используйте CDPATH .
Например (bash):
prompt$ export CDPATH=:/a/b/c/d/e prompt$ cd f cd /a/b/c/d/e/f
Вы также можете добавить больше целей каталога, разделенных двоеточиями. Ведите двоеточие, чтобы CDPATH сначала проверял ваш текущий рабочий каталог!
Если вы просто хотите использовать путь для одного сеанса, установите переменную как обычно
set long="/some/long/path/to/a/directory"
Затем вы можете делать это cd "$long"
так часто, как захотите, до тех пор, пока оболочка не завершится или вы не установите long
снова.
Если вы заинтересованы в том, чтобы переменная была доступна процессам, запущенным из сеанса оболочки, вам следует установить ее в своей среде
setenv long "/some/long/path/to/a/directory"
Если вы хотите, чтобы переменная была доступна для каждого сеанса, а не только для текущего, вам нужно будет установить ее в своем контроле запуска оболочки.
$EDITOR ~/.cshrc
Затем добавьте set
строку или setenv
строку, показанную выше, чтобы автоматически устанавливать переменную или переменную окружения для каждого сеанса csh.