Псевдонимы: различие между .bash_rc, .bash_aliases и/usr/local/bin

Играя вокруг с Терминалом, я заметил, что существует много способов создать постоянные псевдонимы.

Я - новичок Linux, и от того, что я знаю, делая:

  1. sudo ln -s /path/to/executable /usr/local/bin/desired_alias
  2. добавление desired_alias = '/path/to/executable' кому: ~/.bashrc
  3. некомментарий тех строк в ~/.bashrc:

    if [ -f ~/.bash_aliases ]; then
        . ~/.bash_aliases
    fi
    

    и помещение desired_alias = '/path/to/executable' в ~/.bash_aliases

все имеют тот же эффект.

Каково различие между первыми и вторыми методами?

8
задан 13 December 2017 в 19:57

1 ответ

С помощью первого метода вы не создаете псевдоним, вы создаете символическую ссылку. Символьные ссылки - это короткие ссылки на символические ссылки:

Символические ссылки - это файлы, которые действуют как указатели на другие файлы. [...] Символическая ссылка - это специальный тип файла, содержимое которого представляет собой строку, которая является путем к другому файлу, файлу, на который ссылается ссылка. Другими словами, символическая ссылка является указателем на другое имя, а не на базовый объект.

Подробнее о символических ссылках здесь и здесь .

Только со вторым методом вы фактически создаете псевдоним.

Псевдонимы позволяют заменить строку словом, когда оно используется в качестве первого слова простой команды. Оболочка поддерживает список псевдонимов, которые могут быть установлены и сняты с помощью встроенных команд псевдонимов и unalias (см. КОМАНДЫ ПОСТРОЕНИЯ ОБОЛОЧКИ ниже). Первое слово каждой простой команды, если оно не заключено в кавычки, проверяется на наличие псевдонима. Если это так, то это слово заменяется текстом псевдонима.

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

Для bash это /etc/bash.bashrc (для всей системы) и ~/.bashrc. Эти файлы интерпретируются, когда оболочка запускается в интерактивном режиме (например, при использовании Terminal). Я не буду упоминать файлы профиля, потому что они служат для другой цели.

Итак, вы хотите добавить свои псевдонимы в ~/.bashrc, чтобы они были доступны в каждой интерактивной оболочке.

Метод .bash_aliases выполняет точно то же самое, что и помещение псевдонимов в ~/.bashrc, но имеет дополнительное преимущество, заключающееся в том, что его легче анализировать и манипулировать программами.

. ~/.bash_aliases означает источник (загрузка) _~/.bash_aliases_ в контексте текущей запущенной оболочки.

0
ответ дан 13 December 2017 в 19:57

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

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