我对以下规则有疑问。如果我做:
eval `/opt/local/libexec/gnubin/dircolors ~/.dircolors`
export LS_COLORS="${LS_COLORS}*README=00;37;44"
然后,在创建README
文件时,我会得到:
但是现在,我想应用该规则并对以 README 开头的每个文件名执行相同的操作(例如README_something
, README_important
)。
为此,我试图提出:
export LS_COLORS="${LS_COLORS}*README*=00;37;44"
但它不显示为上图(只有白色)。
如何使用LS_COLORS
(我在 MacOS Big Sur 上)管理通配符?
编辑 1
按照 user1934428 的建议,我尝试了:
export LS_COLORS="${LS_COLORS}:*README*=00;37;44"
不幸的是,例如,当我应用l
实际上由以下定义的命令“”时,像 README_important 这样的文件名不会像我上面的图像那样显示:
alias l='grc -es --colour=auto ls --color -Gh -C -lrt'
为什么不接受语法自述文件?特别是,第二颗星应该扩展所有名为的文件README_something
,README_anything
...等
编辑 2
这是 $LS_COLORS 的值,一旦我打开一个新终端:
$ echo $LS_COLORS
no=01;37:fi=01;37:di=32:ln=01;36:pi=40;33:so=01;35:bd=40;33;01:cd=40;33;01:ex=00;36:*~=05;31:*.mtxt=05;31:*.ndx=05;31:*.cmd=00;33:*.exe=00;33:*.com=00;33:*.btm=00;33:*.bat=00;33:*.txt=00;37:*.pdf=04;94:*.docx=00;91:*.doc=00;91:*.xlsx=00;91:*.xls=00;91:*.c=00;35:*.h=00;35:*.sh=00;36:*.py=00;36:*.cpp=00;35:*.pl=00;36:*.pm=00;35:*.cgi=00;35:*.java=00;35:*.html=00;35:*.tar=00;31:*.tgz=00;31:*.arj=00;31:*.taz=00;31:*.lzh=00;31:*.zip=00;31:*.z=00;31:*.Z=00;31:*.gz=00;31:*.jpg=01;35:*.jpeg=01;35:*.JPG=01;35:*.gif=01;35:*.GIF=01;35:*.bmp=01;35:*.BMP=01;35:*.xbm=01;35:*.ppm=01;35:*.xpm=01;35:*.tif=01;35:*.png=01;35:*README*=00;37;44
我现在只有一个 ' :
' 字符。
但这并不能解决最初的问题,即考虑README*
文件名的通配符。