ทุบเปลือกสีบน Mac?


8

คุณจะทำให้ bash shell แสดงรายการไฟล์ที่สามารถเรียกใช้งานได้ในสีที่แตกต่างจากไฟล์ที่ไม่สามารถเรียกใช้งานได้อย่างไร

ฉันพยายามแก้ไข~/.bashrcเพื่อให้มีบรรทัดต่อไปนี้ (เป็นอย่างอื่นว่างเปล่า):

 LS_OPTIONS='--color=auto'

แต่มันไม่ทำงาน ผมทำอะไรผิดหรือเปล่า? ฉันกำลังทำงานกับ Mac OS X

คำตอบ:


7

หากต้องการเปิดเอาต์พุตสีจากlsคำสั่งโดยไม่ต้องสร้างนามแฝงlsหรือดาวน์โหลดซอฟต์แวร์เพิ่มเติมให้เพิ่มรายการต่อไปนี้ใน~/.bash_profile:

# Terminal colours
export CLICOLOR=1
export LSCOLORS=ExFxCxDxBxegedabagacad

หากคุณไม่ชอบสีเหล่านั้นคุณสามารถใช้ตัวสร้างสีนี้เพื่อกำหนดรายการสีตามที่คุณต้องการ

คุณจะต้องทำ:

source ~/.bash_profile

หลังจากทำการเปลี่ยนแปลงใด ๆ เพื่อให้มีผลในเชลล์ที่คุณมีอยู่


ไม่มีก็ไม่ได้ช่วยเลย
Holms

6

ปัญหาคือว่า OS X ไม่มี GNU ls; ในขณะที่มันlsรองรับการตั้งชื่อไฟล์มันสามารถทำได้โดยประเภทของไฟล์ (ไฟล์, ไดเรกทอรี, symlink, ไฟล์พิเศษของอุปกรณ์, Fifo, ซ็อกเก็ต ... ) ติดตั้งcoreutilsจากตำรวจ / MacPorts / Homebrew alias ls='gls --color=auto'ใช้แล้ว


ขอบคุณ ฉันติดตั้งcoreutilsจาก MacPorts แล้ว ควรaliasบรรทัดจะอยู่ใน~/.bashrc? นั่นคือสิ่งที่ฉันวางไว้ แต่ฉันไม่เห็นความแตกต่าง
AP257

~/.bash_aliasesอาจทำงานได้ดีขึ้น ฉันยังพบว่าฉันจำเป็นต้องเรียกใช้eval $(gdircolors -s)เพื่อตั้งค่า
geekosaur

@ AP257: ใน Mac ของฉันฉันใส่นามแฝงใน. bash_profile
Hai Vu

@Hai Vu: ใช้งานได้เฉพาะเมื่อคุณไม่เคยใช้ subshells
geekosaur

@geekosaur gdircolors: invalid option -- 's'คุณหมายถึง--shอะไร
Anentropic

6

BSD ls ทำงานแตกต่างกันเล็กน้อย

alias ls='ls -G'

ควรทำงาน.

และนี่ไม่ใช่การระบายสีด้วยlsสี เมื่อทุบตีทำรายชื่อไฟล์ (ลองecho *ในไดเรกทอรี) ไม่มีวิธีที่จะทำให้สี การพิมพ์ls -Gจะทำงานกับเชลล์ใด ๆ ก็ได้แม้ว่าเชลล์ (เช่น bash) ที่มีชื่อแทนจะทำให้ง่ายขึ้น


6

สำหรับ Mac คุณต้องใช้

export CLICOLOR=1

ฉันใส่มันลงใน. bash_profile อย่างไรก็ตามฉันชอบโซลูชันของ Rich Homolka ในการตั้งชื่อแทนด้วยแฟล็ก -G หากคุณต้องการปรับแต่งสี:

man ls

และค้นหา LSCOLORS


1

พิจารณาการติดตั้งbrewและใช้ ls รุ่น GNU และเครื่องมืออื่น ๆ

ติดตั้ง XCode จาก AppStore

ติดตั้งHomebrew ...

/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"

ติดตั้ง coreutils ...

brew install coreutils

เพิ่มที่ด้านล่างของคุณ.profile...

export PATH="/usr/local/opt/coreutils/libexec/gnubin:$PATH"
export MANPATH="/usr/local/opt/coreutils/libexec/gnuman:$MANPATH"

ฉันใช้ชื่อแทนlsใน.profileการทำสีสำหรับทุกสิ่งและทางลัดสำหรับรายการทั้งหมด

alias ls='ls --color'
alias l='ls -lah'
# -l     use a long listing format
# -a     do not ignore entries starting with .
# -h     with -l and/or -s, print human readable sizes (e.g., 1K 234M 2G)

มีพวงของการเป็นLS_COLORSตัวเลือกบนGitHub


-1

bashเป็นเพียงเชลล์มันไม่ได้แสดงรายการไฟล์ lsมันรันคำสั่งเช่น

--colorตัวเลือก (และตัวเลือกยาวทั่วไป) มีเฉพาะในรุ่นของlsจาก GNU coreutilsซึ่งมาพร้อมกับลินุกซ์มากที่สุด ในทางตรงกันข้าม Mac OS X มีราก BSD และใช้รุ่น BSD lsซึ่งไม่รองรับการระบายสี


1
-1: มันไม่-Gระบายสีสนับสนุนเพียงกับธงบรรทัดคำสั่งที่แตกต่างกัน:
Wuffers
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.