Unix bash 别名在启动屏幕后不起作用
Unix bash alias not working after start screen
您好,我在启动 screen
命令后在 mac 中设置别名时遇到问题,我有使用 git 的别名,例如
commit=git commit
当我启动终端 (iTerm2) 时,它们的工作方式与我预期的一样,但有时我会使用 screen
在远程服务器和我使用的虚拟 machines 中同时运行实例。此后别名消失(command not found
).
有谁知道为什么或者怎么解决吗?
要使别名起作用,您必须使用 alias
命令。例如,要在 Bash 中创建别名,您可以执行以下操作:
$ alias commit="git commit"
这暂时有效,即:在您当前的 shell 中。为了使其成为 "stick",您必须将其放入您的 ~/.bashrc
。这将使它成为您将在终端会话期间调用的 Bash 的所有实例的来源。
当你启动屏幕时,它也会启动一个单独的 Bash,所以你会被覆盖。
你写了一些关于 VM 的文章。如果您需要此别名在那里工作,则必须在这些 VM 上设置 ~/.bashrc
以具有相同的别名。但那是另一个故事。你应该已经知道如何实现你想要的。
您需要确保您的别名在 ~/.bashrc
中定义,以确保它们包含在所有登录中。您可以对此进行测试:编辑您的 ~/.bashrc
以包含此行:
echo "bashrc"
然后编辑您的 ~/.bash_profile
以包含此行:
echo "bash_profile"
当您启动 screen
时,您会看到仅显示 "bashrc"。
有关该主题的更多详细信息,请参阅 this question。
您好,我在启动 screen
命令后在 mac 中设置别名时遇到问题,我有使用 git 的别名,例如
commit=git commit
当我启动终端 (iTerm2) 时,它们的工作方式与我预期的一样,但有时我会使用 screen
在远程服务器和我使用的虚拟 machines 中同时运行实例。此后别名消失(command not found
).
有谁知道为什么或者怎么解决吗?
要使别名起作用,您必须使用 alias
命令。例如,要在 Bash 中创建别名,您可以执行以下操作:
$ alias commit="git commit"
这暂时有效,即:在您当前的 shell 中。为了使其成为 "stick",您必须将其放入您的 ~/.bashrc
。这将使它成为您将在终端会话期间调用的 Bash 的所有实例的来源。
当你启动屏幕时,它也会启动一个单独的 Bash,所以你会被覆盖。
你写了一些关于 VM 的文章。如果您需要此别名在那里工作,则必须在这些 VM 上设置 ~/.bashrc
以具有相同的别名。但那是另一个故事。你应该已经知道如何实现你想要的。
您需要确保您的别名在 ~/.bashrc
中定义,以确保它们包含在所有登录中。您可以对此进行测试:编辑您的 ~/.bashrc
以包含此行:
echo "bashrc"
然后编辑您的 ~/.bash_profile
以包含此行:
echo "bash_profile"
当您启动 screen
时,您会看到仅显示 "bashrc"。
有关该主题的更多详细信息,请参阅 this question。