0

我的 .bash_aliases 文件中有以下几行:

# Prettify and streamline listings
alias ls='ls --color'
alias ll='ls -l'
alias la='ls -a'
alias lla='ls -al'
alias lF='ls -F'
alias laF='ls -laF'
alias llF='ls -lF'
alias llaF='ls -alF'

别名工作正常,但是当我通过管道连接到 egrep 以查找不可见文件时遇到了麻烦。例如,如果我想列出目录中的所有不可见文件,并且我键入la | egrep '^\.'我没有得到任何输出。即使我跳过别名并输入,ls -a | egrep '^\.'我仍然没有输出。如果我省略插入符号,它可以工作,但当然在这种情况下会egrep列出文件名中带有句点的所有文件,而不仅仅是那些以句点开头的文件。

但是,如果我重命名 .bash_aliases 文件并再次登录,以使这些别名不活动,那么ls -a | egrep '^\.'列出不可见文件就可以了。很奇怪。

我试图弄清楚为什么会发生这种情况,我正在画一个空白。有任何想法吗?谢谢!

4

1 回答 1

1

试试下面的命令,你会看到一些原因:

ls --color | cat -v

您应该使用别名ls='ls --color=auto'而不是ls='ls --color'.

于 2012-04-18T21:02:52.053 回答