Unix bash 别名在开始屏幕后不起作用



嗨,启动 screen 命令后,我在 mac 中设置别名时遇到问题,我有使用 git 的别名,例如

commit=git commit

当我启动终端 (iTerm2) 时,它们按我的预期工作,但有时我会使用 screen 在我使用的远程服务器和虚拟机中同时拥有实例。 在此之后,别名消失(command not found)。

有谁知道为什么或如何解决它?

若要使别名正常工作,必须使用 alias 命令。例如,要在 Bash 中创建别名,您需要执行以下操作:

$ alias commit="git commit"

这暂时有效,即:在您当前的外壳中。为了使它"粘住",您必须将其放在~/.bashrc中。这将使它来源于您将在终端会话期间调用的所有 Bash 实例。

当您启动屏幕时,它也启动一个单独的 Bash,因此您将被覆盖。

你写一些关于虚拟机的东西。如果需要此别名才能在其中工作,则必须在这些 VM 上~/.bashrc具有相同的别名。但那是另一回事了。你应该已经知道如何实现你想要的。

您需要确保在~/.bashrc中定义别名,以确保它们包含在所有登录名中。您可以对此进行测试:编辑您的~/.bashrc以包含以下行:

echo "bashrc"

然后编辑您的~/.bash_profile以包含以下行:

echo "bash_profile"

当您开始screen时,您将看到仅显示"bashrc"。

有关该主题的更多详细信息,请参阅此问题。

最新更新