我创建了一个简单的脚本来在 ESXi 6.7 主机上设置别名:
#!/bin/sh
alias ll="ls -la"
echo "Profile done"
当我运行脚本时,我在屏幕上看到了回显消息,但别名尚未设置。但如果我从命令提示符执行别名命令,它就可以正常工作。
有人可以解释一下如何从脚本设置别名吗?
答案1
对我来说,这按预期工作。请确保像这样点源脚本:
. ~/.profile
而不是像这样执行
~/.profile
后者会生成一个新的 shell 进程并创建别名,但会终止生成的 shell,而原始调用 shell 则保持不变。
如果您将脚本保存为 ~/.profile,当您注销并再次登录时它也将获得正确的来源。