Добавить в путь только файл sh не каталог

В Ubuntu 12.10 Unity вы можете использовать Ctrl + Alt + (num keys). Например.

Ctrl + Alt + 5 для полноразмерного экрана; Ctrl + Alt + 4 для горизонтальной половины экрана справа, то же самое работает с 8, 2 и amp; 6 также.
1
задан 21 April 2014 в 13:23

3 ответа

Создание ссылок в /usr/bin работает, но если вы не хотите, чтобы скрипты были доступны для всех пользователей, я бы предпочел создать ссылки в ~/bin с тем же результатом, но не касаясь глобальной системы. Кроме того, OP не упоминает, где хранятся сценарии. создавая ссылку глобально, в то время как скрипты хранятся локально, это плохая практика, поэтому я хотел бы предложить:

Создать локальный каталог ~/bin. Удалите языковое расширение из сценариев (если они не вызовут друг друга), сделайте их исполняемыми (см. Ниже). Создайте ссылки на скрипты из ~/bin (ln -sf). Выйдите из системы.

Либо с расширением языка, либо без него, сценарий будет работать отлично. Тем не менее, есть несколько аргументов для использования скрипта без расширения языка:

Создайте локальный каталог ~/bin. Несмотря на то, что в случаях пользовательских сценариев, lintian соглашения, сценарии (или ссылки на скрипты) в поисковых путях по умолчанию не должны иметь языкового расширения. -
4
ответ дан 24 May 2018 в 09:07
  • 1
    Почему вы рекомендуете удалить расширения? – terdon♦ 21 April 2014 в 18:34
  • 2
    @terdon для ясности; Я бы хотел назвать ссылку, похожую на скрипт. вызов с расширением тогда будет неудобным и немного «уродливым». – Jacob Vlijm 21 April 2014 в 20:47
  • 3
    Хорошо, я , как , имеет расширения, поскольку он сообщает мне, что такое скрипт. Это только личные предпочтения, но я предпочитаю свои сценарии с расширениями. – terdon♦ 21 April 2014 в 20:48
  • 4
    @terdon Это, конечно, так! Это, конечно, сценарий, и сохранение идеи может быть превзойденным, но разве нет смысла добавлять языковые расширения в поисковые пути по умолчанию? – Jacob Vlijm 21 April 2014 в 20:55
  • 5
    Совсем нет, наоборот. Соглашение состоит в том, чтобы иметь сценарии оболочки с .sh расширением и perl-скриптами с .pl, python с py и т. Д. Это часто не делается для инструментов в /usr/bin, но обычно это относится к файлам, написанным пользователем. – terdon♦ 21 April 2014 в 21:01

Я бы использовал встроенную команду bash hash, чтобы запомнить расположение скрипта server-stop.sh:

hash -p /path/to/folder/server-stop.sh server-stop

Просто добавьте вышеприведенную строку в ваш файл .bashrc. Теперь вы можете использовать server-stop повсюду в вашей bash оболочке / скриптах.

См. [F9]:

hash: hash [-lr] [-p pathname] [-dt] [name ...]
Remember or display program locations.

Determine and remember the full pathname of each command NAME.  If
no arguments are given, information about remembered commands is displayed.

Options:
  -d        forget the remembered location of each NAME
  -l        display in a format that may be reused as input
  -p pathname   use PATHNAME is the full pathname of NAME
  -r        forget all remembered locations
  -t        print the remembered location of each NAME, preceding
        each location with the corresponding NAME if multiple
        NAMEs are given
Arguments:
  NAME      Each NAME is searched for in $PATH and added to the list
        of remembered commands.
3
ответ дан 24 May 2018 в 09:07

Возможно, псевдоним - это то, что вы ищете. Откройте файл ~/.bash_aliases и добавьте следующее в конец файла (файл может быть пустым в зависимости от того, добавлен ли ранее ранее псевдоним):

alias server-stop.sh='/path/to/your/server-stop.sh`

Плюсы:

Это добавит только server-stop.sh, поскольку вы намерены Это не изменит вашу переменную $PATH. Другие пользователи вашей системы не затронуты

Плюсы:

Это добавит только server-stop.sh, когда вы намереваетесь

. Это добавит только server-stop.sh, как вы намереваетесь

2
ответ дан 24 May 2018 в 09:07

Другие вопросы по тегам:

Похожие вопросы: