[英]ls aliases in .bash_aliases interfering with egrep output
我的.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 '^\\.'
la | egrep '^\\.'
我没有输出。 即使我跳过别名并输入ls -a | egrep '^\\.'
ls -a | egrep '^\\.'
我仍然没有输出。 如果我不使用插入符号,它将起作用,但是在这种情况下, egrep
当然会在文件名中列出所有带有句点的文件,而不仅仅是以句点开头的文件。
但是,如果我重命名.bash_aliases文件并再次登录,以使这些别名不处于活动状态,则ls -a | egrep '^\\.'
ls -a | egrep '^\\.'
可以很好地列出不可见的文件。 很奇怪。
我试图弄清楚为什么会发生这种情况,我正在画一个空白。 有任何想法吗? 谢谢!
尝试以下命令,您将看到一些原因:
ls --color | cat -v
您应该使用别名ls='ls --color=auto'
而不是ls='ls --color'
。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.