在 ESXi 6 中从 sh 脚本设置别名

在 ESXi 6 中从 sh 脚本设置别名

我创建了一个简单的脚本来在 ESXi 6.7 主机上设置别名:

#!/bin/sh
alias ll="ls -la"
echo "Profile done"

当我运行脚本时,我在屏幕上看到了回显消息,但别名尚未设置。但如果我从命令提示符执行别名命令,它就可以正常工作。

有人可以解释一下如何从脚本设置别名吗?

答案1

对我来说,这按预期工作。请确保像这样点源脚本:

. ~/.profile

而不是像这样执行

~/.profile

后者会生成一个新的 shell 进程并创建别名,但会终止生成的 shell,而原始调用 shell 则保持不变。

如果您将脚本保存为 ~/.profile,当您注销并再次登录时它也将获得正确的来源。

相关内容