Задать вопрос
@460s

Обновление списка alias из shell скрипта. Как?

Добавляю с помощью shell скрипта алиас:
echo "alias sc='echo 21'" >> ~/.bashrc
После чего следует запустить сам сценарий bashrc, чтобы изменения вступили в силу до перезагрузки.
Если выполнить:
. ~/.bashrc
Ничего не произойдет, т.к. файлик просто включится в скрипт.
Собственно вопрос, как обновить список алиасов из скрипта?

alias alias_command_name='commands'
Не поможет, т.к. он будет работать только для текущей сессии.
  • Вопрос задан
  • 872 просмотра
Подписаться 2 Оценить 1 комментарий
Ответ пользователя Данил Бирюков-Романов К ответам на вопрос (2)
urtow
@urtow
*nix, python, QA, bagpipe, folk music
Не надо использовать Alias в скриптах - alias - это просто сокращение. Для указанной задачи в bash надо использовать функции, про создание функций можно почитать вот тут - www.bash-scripting.ru/abs/chunks/ch23.html

Для указанного примера, добавляем в .bashrc вот такое:
function sc(){
	echo 21
}


Теперь эта функция доступна нам в скриптах:
#!/bin/bash
. ~/.bashrc
sc


Запустив этот скрипт мы получим вывод 21. Самое удобное, что в интерактивной сессии все будет работать точно так же - так как функция указана в bashrc после перезапуска интерактивной сессии мы сможем использовать функцию sc как любую команду bash интерпретатора
Ответ написан
Комментировать