создание ссылки на скрипт - PullRequest
1 голос
/ 07 июля 2010

Я хочу сделать следующий вид ссылки:

Например, команда

"ls" универсально доступна в большинстве сред * nix. Пользователь может вводить из любого места для выполнения сценариев.

Итак, я пишу сценарий "х". Я хочу убедиться, что откуда бы пользователь ни вводил x, на него ссылается реальный скрипт "x".

Таким образом, если у меня есть скрипт "x", хранящийся в каталоге home / user / Desktop, мне не нужно ссылаться на скрипт следующим образом:

home/user/Desktop/x

Я должен быть в состоянии сделать:

x

Спасибо!

Ответы [ 3 ]

2 голосов
/ 07 июля 2010

Вы хотите добавить каталог в вашу PATH. Э.Г.

PATH="$PATH:/home/user/someDirectory"

Вы можете добавить эту строку в .bash_profile, чтобы сделать это при запуске. Однако вам, вероятно, не следует добавлять Desktop в путь, поскольку некоторые браузеры загружают туда по умолчанию (хотя он не должен быть исполняемым по умолчанию).

1 голос
/ 07 июля 2010

Вы также можете поместить свой скрипт в существующий каталог, который уже находится в вашем пути, например /usr/local/bin, или создать символическую ссылку там, где находится ваш скрипт.

cp /home/user/Desktop/x /usr/local/bin

или

mv /home/user/Desktop/x /usr/local/bin

или

ln -s /home/user/Desktop/x /usr/local/bin
0 голосов
/ 09 июля 2010

Не хочу быть неприятно повторяющимся, но я впервые отвечаю на вопрос, я не могу ответить на чей-то уже хороший ответ, и я думаю, что они упускают некоторые важные моменты.

Во-первых, если вы хотите убедиться, что каждый может получить доступ к сценарию, вам необходимо убедиться, что у всех есть права на выполнение:

chmod a+x /path/to/script.sh

Вы также захотите убедиться, что он где-то в $ PATH (как и в других упомянутых ответах):

echo $PATH # place the script in one of these directories

Я бы лично предпочел / usr / local / bin, поскольку это место для пользовательских глобальных сценариев. Что-то, что другие ответы не упомянули, это то, что, если вы хотите использовать каталог, кроме каталога в $ PATH (скажем, / opt / myscriptfolder /), вы захотите добавить еще одну запись PATH в конце / etc / profile :

PATH="$PATH:/opt/myscriptfolder/"

Поместив это в конец / etc / profile, все пользователи получат эту измененную переменную PATH при следующем входе в систему.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...