Как я могу выполнить сценарий оболочки, который существует в длинноватом пути с единственной командой без первого cd'ing к каталогу?

Необходимо смочь поместить пользовательские адреса DNS в конфигурацию сервера DHCP, таким образом, клиентам говорят использовать их вместо значений по умолчанию.

Если Ваш сервер DHCP является маршрутизатором, и он не дает Вам способность изменить адреса DNS, можно всегда выполнять собственный сервер DHCP. Существуют другие причины сделать это помимо пользовательского дюйм/с сервера DNS. Например, dnsmasq будет действовать как кэш DNS LAN также и интегрирует DHCP и DNS, таким образом, Вы получите хорошие функции как способность к ping клиент DHCP по имени.

2
31.07.2013, 22:19
2 ответа

Существует три основных способа запустить Ваш скрипт, не будучи должен указать полный путь.

  1. Добавьте каталог, содержащий Ваш сценарий к Вашему $PATH. Вы затем сможете выполнить сценарий по имени из любого каталога, точно так же, как любая другая программа. Если Вы используете csh, добавьте это к Вашему ~/.cshrc:

    set path = ($path /scratch/someDir/someOthernestedDir/)
    
  2. Поместите ссылку на свой сценарий в каталоге, который уже находится в Вашем пути. Например, /usr/bin:

    ln -s /scratch/someDir/someOthernestedDir/shellscriptName.sh /usr/bin
    
  3. Сделайте псевдоним как @EightBitTony предложенным, добавьте эту строку к Вашему ~/.cshrc:

    alias executeMyCommand '/scratch/someDir/someOthernestedDir/shellscriptName.sh' 
    
4
27.01.2020, 21:54

Псевдонимы команды.

alias name definition

например.

alias executeMyCommand '/scratch/someDir/someOthernestedDir/shellscriptName.sh'

Отсюда.

Добавление псевдонима команды

Заставить команду исказить постоянную часть Вашей рабочей среды:

  1. Отредактируйте файл запуска оболочки .cshrc и добавьте строку, определяющую псевдоним.
  2. Сохраните изменения и оставьте редактора.
  3. Источник файл запуска оболочки, чтобы иметь изменения вступает в силу немедленно. Например:

    источник .cshrc

2
27.01.2020, 21:54
  • 1
    Почему мы должны сделать последний шаг. Что делает источник? –  Geek 31.07.2013, 17:51
  • 2
    @Geek просто говорит Вашей оболочке читать .cshrc зарегистрируйте снова. Иначе Ваша текущая оболочка не будет видеть новый псевдоним, и это будет только работать, после того как Вы открываете новый терминал. –  terdon♦ 31.07.2013, 18:56

Теги

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