Bash
如何在 .bashrc 上為文件副檔名進行模式匹配
我正在修改我的
.bashrc
: 我想讓它.zip
,.tar
並且.tar.gz
文件(也許以後會更多)以紅色顯示。問題是,我想為所有這些文件匹配一次。所以在.bashrc
我的文件上:LS_COLORS='*.hs=35:*.py=93:*.[zip|tar.*]=31' export LS_COLORS
如果可能的話,我想避免
LS_COLORS='*.hs=35:*.py=93:*.zip=31:*.tar=31:*.tar.gz=31' export LS_COLORS
但是,我的方法不起作用。我應該修改什麼?
我不確定,但我懷疑這是不可能的,因為這完全是關於它
ls
本身處理你儲存的任何值的方式LS_COLORS
。因此,除非他們選擇實施您所描述的內容,否則這是不可能的,您需要硬著頭皮把它全部寫出來。至少你可以在一行而不是兩行上做到這一點:export LS_COLORS='*.hs=35:*.py=93:*.zip=31:*.tar=31:*.tar.gz=31'
您還可以使用以下技巧避免將其全部輸入:
$ printf '*.%s=31:' {zip,tar,tar.gz,tgz,Z,xz,7z} *.zip=31:*.tar=31:*.tar.gz=31:*.tgz=31:*.Z=31:*.xz=31:*.7z=31:
然後你只需要複製/粘貼一次。