
Я создал простой скрипт для настройки псевдонима на хосте ESXi 6.7:
#!/bin/sh
alias ll="ls -la"
echo "Profile done"
Когда я запускаю скрипт, я вижу сообщение echo'd на экране, но псевдоним не установлен. Но если я выполняю команду псевдонима из командной строки, она работает нормально.
Может ли кто-нибудь объяснить, как настроить псевдоним из скрипта?
решение1
Для меня это работает так, как и ожидалось. Убедитесь, что вы указали источник скрипта, как здесь:
. ~/.profile
вместо того, чтобы сделать это вот так
~/.profile
Последний порождает новый процесс оболочки, в котором создается псевдоним, но затем завершает порожденную оболочку, оставляя исходную вызывающую оболочку без изменений.
Если вы сохраните свой скрипт как ~/.profile, он также будет правильно загружен, когда вы выйдете из системы и войдете в нее снова.