1

Нет. скриптов, присутствующих по этому пути /usr/local/bin/ . Для пользователя инструкции должны ввести имя скрипта <script_name> в его приглашении [username@servername]$ . Как такое возможно, что я не ./script_name и скрипт начал показывать результаты в стандартном выводе, просто записав имя скрипта в приглашении пользователя? Может быть интересно узнать о /usr /local /bin / в системе LINUX :-)

4 ответа4

1

В системах BSD все несистемные программы (порты) по умолчанию устанавливаются в /usr/local .

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

1

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

ОС может свободно удалять все, что захочет, в /usr/bin и др., Локальная вариация была настроена, чтобы не допустить уничтожения ваших вещей, не связанных с ОС.

И, помещая все эти локальные вещи (bin , etc и т.д.) Под одну контрольную точку, это делает резервное копирование сайта очень простым (в отличие от необходимости получать /bin , /etc , /lib и так далее для OS) - вы просто создаете резервную копию всей иерархии /usr/local .

Если вы откроете echo $PATH , вы, вероятно, обнаружите, что /usr/local/bin есть. В качестве альтернативы, попробуйте which PROG (заменив PROG на ваше реальное имя программы), чтобы увидеть, где он находится:

pax> pwd
/home/pax

pax> echo $PATH
/usr/local/bin:/usr/bin:/bin:/usr/X11R6/bin

pax> ls /usr/local/bin/ico*
iconv

pax> which iconv
/usr/local/bin/iconv

pax> iconv -?
Usage: iconv [-c] [-s] [-f fromcode] [-t tocode] [file ...]
or:    iconv -l
Try 'iconv --help' for more information.
0

/usr/local/bin, вероятно, является частью вашего пути

0

Чтобы ответить на ваш заголовок о назначении /usr /local /bin /usr /local для программного обеспечения, локального для машины, обычно устанавливаемого вручную (а не через управление пакетами, например, rpm или deb)

Чтобы ответить на ваш актуальный вопрос, я думаю, вы должны узнать о переменной PATH. попробуйте echo $ PATH в терминале

./somescript.sh означает, что вы ожидаете, что скрипт будет в текущем каталоге (.) если вы не укажете путь, просто имя команды, оболочка будет искать ее в ПУТИ (если, конечно, это не внутренняя команда вашей оболочки).

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .