cd&&;ls函数不';在重新加载之前不能使用其他别名。bashrc?

cd&&;ls函数不';在重新加载之前不能使用其他别名。bashrc?,bash,shell,alias,Bash,Shell,Alias,我的.bash_别名中有以下代码: c() { cd "$@" && ls -a ; } alias cdd="c ~/Downloads" alias r=". ~/.bashrc" 当我加载一个新终端时,cdd在我执行r命令之前不工作。但在这样做之后,它会按预期工作。为什么会这样 编辑:.bash\u别名来自于安装bash it。my.bashrc中包含以下代码: if [ -f ~/.bash_aliases ]; then . ~/.bash_aliases f

我的.bash_别名中有以下代码:

c() { cd "$@" && ls -a ; }
alias cdd="c ~/Downloads"
alias r=". ~/.bashrc"
当我加载一个新终端时,cdd在我执行r命令之前不工作。但在这样做之后,它会按预期工作。为什么会这样

编辑:.bash\u别名来自于安装bash it。my.bashrc中包含以下代码:

if [ -f ~/.bash_aliases ]; then
    . ~/.bash_aliases
fi

我正在LinuxMint上使用Terminator终端。

我在Unix堆栈交换上询问并找到了一个修复方法。“c”在启动时已映射为clear,因此在重新加载
.bash\u别名之前无法工作。将函数从“c”更改为“d”后,从启动开始,一切都正常。

看起来
bashrc
不包含在
~/.bash_配置文件中。
@KaushikNayak:在这种情况下
r
也应该不起作用。请尝试放置
c(){cd$@&&ls-a;}
.bashrc
@sjsam:哦,是的。我的badIf Terminator与其他Mac终端模拟器一样,它启动一个登录shell(因为模拟器本身不是从shell会话启动的,它不会从先前来源于
.bash\u profile
的shell继承环境)。在
.bash\u profile
中是否有任何源于
.bashrc
.bash\u别名的内容?那么这个问题应该是不可复制的,因为您的问题不包含任何内容,我们无法了解这个配置问题,而且这显然是一个跨站点的重复。