问一个重定义内置命令的问题

sh/bash/dash/ksh/zsh等Shell脚本
回复
lymslive
帖子: 72
注册时间: 2010-09-02 19:47

问一个重定义内置命令的问题

#1

帖子 lymslive » 2011-12-30 14:00

比如,我想在 cd 之后自动列出当前目录
在我的 bashrc (or sourced files) 有以下几行
alias ls='ls -hF --color=auto --group-directories-first'
function cd()
{
if command cd $@; then
ls
fi
}

但在测试(调试)时发现一个奇怪现象
有时候 cd 之后调用的 ls 没有应用到 alias ls,也就是与直接用 ls 列出的内容不一样(比如无着色)
但有时候 cd 与之后直接用 ls 的输出则是一样(比如有着色)

为什么,求大神指教。
头像
eexpress
帖子: 58428
注册时间: 2005-08-14 21:55
来自: 长沙

Re: 问一个重定义内置命令的问题

#2

帖子 eexpress » 2011-12-30 14:41

alias你也要嵌套。那是不行的。
● 鸣学
lymslive
帖子: 72
注册时间: 2010-09-02 19:47

Re: 问一个重定义内置命令的问题

#3

帖子 lymslive » 2011-12-30 20:49

那个 ls alias 记得是ubuntu自带的.bashrc示例啊,不是俺写的……
那是可行的吧
回复