在终端外壳中出现别名问题

时间:2019-07-09 19:49:18

标签: bash macos shell terminal alias

我在终端机(macos)中将 / bin / bash 设置为我的默认shell,并且用'〜/ .bashrc'编写的别名无效(找不到命令)。

但是如果我在Terminal {{ articles }} (does not work) {{ articles.a_table }} (does not work) {% for k,v in articles %} (does not work) <tr> <td>{{ k }}</td> <td>{{ v }}</td> </tr> 命令中编写,我将切换到新的bash3.2 shell,然后可以使用它。

还有另外一个'。bashrc',我应该在其中写下别名吗?

P.S。我使用终端首选项将 / bin / bash 设置为默认值 和{% endfor %} 命令。

3 个答案:

答案 0 :(得分:3)

public void myMethod(int one, int two) { if (two >= one) { return; } // do things if (two != one) { // do other things } } 启动登录外壳程序而不是“普通”交互式外壳程序,因为终端本身不是从继承了登录外壳程序环境的外壳程序中运行的。

普通交互式shell源Terminal;登录Shell会找到它找到的.bashrc.profile.bash_login中的第一个。我建议直接从.bash_profile采购.bashrc

当您直接运行.bash_profile时,您的别名会起作用,因为不会启动另一个登录Shell,因此/bin/bash的来源是预期的。

答案 1 :(得分:1)

如上所述,如果将以下行添加到主目录中的.profile

source ~/.bashrc

保存并创建新的终端会话后,它将自动使用别名设置来获取.bashrc

答案 2 :(得分:0)

您希望/bin/bash -l像使用登录shell一样运行。有关更多信息,请参见INVOCATION的{​​{1}}部分。