Как я могу изменить свой пользовательский файл PROFILE, чтобы добавить папку скриптов, которую я создал, в конец моей переменной PATH? - PullRequest
9 голосов
/ 21 февраля 2012

Как мне изменить мой пользовательский файл PROFILE, чтобы добавить папку сценариев, которую я создал, в конец моей переменной PATH?
Я не совсем уверен, что это значит.Может кто-нибудь объяснить.
Спасибо:)

Ответы [ 3 ]

28 голосов
/ 21 февраля 2012

В системах unix / linux у вас есть идентификатор пользователя ('john') и домашний каталог ('/ home / john'). Домашний каталог имеет аббревиатуру, тильда: ~ (в начале пути к каталогу) означает то же, что и ваш домашний каталог ("/home/john").

В домашнем каталоге есть несколько файлов, которые начинаются с точки (точечные файлы, потому что они начинаются с точки, то есть точки). Когда вы входите в систему, оболочка (то есть программа, которая обрабатывает командную строку при вводе команд), которая запускается для предоставления вам командной строки, ищет эти файлы и читает их, используя их содержимое для инициализации среды оболочки. Вы можете увидеть эти файлы (если они существуют), введя эти команды в командной строке:

cd
ls -a

cd без аргументов означает 'изменить текущий каталог на мой каталог HOME. Команда ls выводит список файлов в каталоге (среди прочего); опция -a говорит «показывать скрытые файлы». Скрытые файлы - это те, которые начинаются с точки - это соглашение, используемое в unix / linux для «скрытия» файлов.

Файл .profile (громко сказано, что его часто называют «точечный профиль») - это один из таких файлов точек, используемый для инициализации вашей среды.

Переменная среды PATH используется оболочкой для поиска исполняемых файлов (программ).

Чтобы узнать больше о теме, вы можете зайти в Google и узнать, как обновить PATH в профиле.

Вот типичный фрагмент, найденный в файле .profile; его цель - позволить вам запускать программы, которые хранятся в каталоге / usr / mypackage / bin.

PATH="/usr/mypackage/bin:$PATH"
export PATH

Размещение каталога в PATH позволяет вам ввести только имя программы ('myprogram') вместо более длинной формы ('/usr/mypackage/bin/myprogram').

Вы можете увидеть эффект этого фрагмента, используя echo $PATH; он покажет все значение переменной PATH. Значение должно быть списком путей (каталогов), разделенных двоеточием. Простой пример:

echo $PATH
/usr/mypackage/bin:/usr/bin:/bin

Это должно дать вам точку опоры, чтобы начать расследование деталей. Чтобы узнать больше, попробуйте поискать такие темы, как «Как настроить мой вход в Linux / Unix», «Что такое файл .profile» и т. Д.

Рекомендуется использовать двойные кавычки при установке значения PATH для инкапсуляции любых «обычных» символов, которые могут присутствовать в именах элементов в пути. Одинарные кавычки не подходят для этого, так как они будут препятствовать оценке $ PATH (что и обеспечивает ваш существующий путь при определении нового значения пути). Для получения дополнительной информации о кавычках, здесь одно обсуждение одиночных и двойных кавычек

2 голосов
/ 21 февраля 2012

Встроенные программы, такие как cat и cd, просто работают, вводя команду. Однако они находятся в определенной папке, например /usr/bin/. Попробуйте сами и посмотрите, в какой папке cat находится, введя which cat.

Когда вы вводите такую ​​команду, вашей оболочке требуется список папок, в которых она должна искать только что введенную команду. Для этого он использовал переменную $PATH, которая хранит этот список. Вы можете увидеть это, введя echo $PATH.

Теперь, если вы закроете оболочку, переменная $PATH исчезнет. Когда вы снова открываете свою оболочку, она запускает определенное количество скриптов, одним из которых является скрипт .profile. В этом скрипте загружается переменная $PATH. Таким образом, вы можете настроить файл .profile, чтобы сохранить $PATH навсегда. Для этого просто отредактируйте этот файл и отредактируйте строку, в которой определен $PATH (например, pico ~/.profile).

В вашем конкретном случае добавление вашей папки скриптов в $PATH, например, позволит вам просто написать имя вашего скрипта вместо всей панели, когда вы захотите запустить один.

1 голос
/ 21 февраля 2012

Переменная PATH хранит список каталогов, которые оболочка ищет программы / команды, когда вы пытаетесь их запустить.Вы можете получить доступ к его значению из командной строки, набрав:

echo $PATH

Будьте осторожны при его изменении, иначе вы можете помешать вашей способности запускать программы из командной строки.Чтобы добавить новый каталог без изменения исходного значения, вы можете поместить строку в ваш файл, например:

PATH=$PATH:/directory_to_add

, где 'directory_to_add' - это каталог, который вы хотите добавить к пути ($ PATH сообщаетоболочка для вставки значения PATH).Затем, если вы введете имя одного из сценариев в папке в командной строке, он запустится без ввода полного пути (если у него есть разрешение на выполнение).

Примечание - ваш профильфайл можно найти в ~ / .profile, и вы можете добавить строку выше с помощью текстового редактора и сохранить файл.Затем из вашего домашнего каталога введите sh ./.profile, и ваш путь должен теперь включать нужный каталог.

...