繁体   English   中英

.bash_aliases中的ls别名干扰egrep输出

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM