关于.bash_profile,.bashrc和别名应写在哪里?

Possible Duplicate:
07000

似乎如果我使用

alias ls='ls -F'

在Mac OS X上的.bashrc内部,则新创建的shell将不会有该别名。我需要再次键入bash,该别名将生效。

如果我在托管公司登录Linux,.bashrc文件有一条注释行:

For non-login shell

和.bash_profile文件有一个注释

for login shell

所以应该在哪里写入别名?我们如何分离登录shell和非登录shell?

有些网页说使用.bash_aliases,但它不工作在Mac OS X,似乎。

分离登录和非登录shell的原因是因为.bashrc文件在您每次启动Bash的新副本时重新加载。仅当您登录或使用适当的标志来指示Bash充当登录shell时,才加载.profile文件。

亲自,

>我把我的PATH设置到一个.profile文件(因为我有时使用其他shell);
>我把我的Bash别名和函数放到我的.bashrc文件中;
>我把这个

#!/bin/bash
#
# CRM .bash_profile Time-stamp: "2008-12-07 19:42"
#
# echo "Loading ${HOME}/.bash_profile"
source ~/.profile # get my PATH setup
source ~/.bashrc  # get my Bash aliases

在我的.bash_profile文件中。

哦,你需要再次键入bash以获取新的别名的原因是,Bash加载你的.bashrc文件,当它启动,但它不重新加载它,除非你告诉它。您可以通过键入重新加载.bashrc文件(而不需​​要第二个shell)

source ~/.bashrc

它会加载.bashrc文件,就像您直接将命令输入到Bash。

相关文章

用的openwrt路由器,家里宽带申请了动态公网ip,为了方便把2...
#!/bin/bashcommand1&command2&wait从Shell脚本并行...
1.先查出MAMP下面集成的PHP版本cd/Applications/MAMP/bin/ph...
1、先输入locale-a,查看一下现在已安装的语言2、若不存在如...
BashPerlTclsyntaxdiff1.进制数表示Languagebinaryoctalhexa...
正常安装了k8s后,使用kubect工具后接的命令不能直接tab补全...