ฉันพยายามย้ายการกำหนดค่า bash ของฉันจาก Ubuntu ไปยัง Mac OS X และดูเหมือนว่า ls จะแตกต่างกันเล็กน้อย ตัวอย่างเช่นจะไม่ยอมรับ--color
ตัวเลือก
ฉันจะทำให้เรื่องนี้ทำงานได้อย่างไร
ฉันพยายามย้ายการกำหนดค่า bash ของฉันจาก Ubuntu ไปยัง Mac OS X และดูเหมือนว่า ls จะแตกต่างกันเล็กน้อย ตัวอย่างเช่นจะไม่ยอมรับ--color
ตัวเลือก
ฉันจะทำให้เรื่องนี้ทำงานได้อย่างไร
คำตอบ:
ls
จริง ๆ แล้วแยกจาก Bash Mac OS X มีเวอร์ชัน BSD ls
ซึ่งต้องการ-G
ในบรรทัดคำสั่งหรือCLICOLOR
(และอาจจะLSCOLORS
) ในสภาพแวดล้อม
ดูman ls
ข้อมูลเพิ่มเติม
alias ls='ls -G'
ตั้งค่า. bashrc ของฉันบน Snow Leopard แล้ว
CLICOLOR=Y
หยุดทำงานบน Mac ของฉัน alias ls='ls -G'
จะบังคับls
ให้สีสัน ฉันกำหนดสิ่งนี้สำหรับเทอร์มินัลเชิงโต้ตอบเท่านั้น
เปิดหน้าต่างเทอร์มินัลแล้วพิมพ์:
alias ls='ls -G'
จากนั้นก็ตีแล้วEnterเสร็จ!
brew install coreutils
โปรดทราบว่าสิ่งนี้จะเป็นการใส่คำนำg
หน้าของคำสั่งทั้งหมด (เช่นgls
สำหรับls
) มันให้ตัวเลือกในการแหล่งไฟล์ที่จะนามแฝงเหล่านี้ให้คุณโดยอัตโนมัติ
ฉันไม่แน่ใจว่ามีตัวเลือกในการติดตั้งโดยตรงโดยไม่ต้องทำนามแฝงทั้งหมดหรือไม่ดังนั้นใน MacPort ที่ติดตั้งและทำสิ่งนี้แทน
ความเข้ากันได้สำหรับ GNU และ * BSD / darwin ls
~ / .profile
#for *BSD/darwin
export CLICOLOR=1
ls --color=auto &> /dev/null && alias ls='ls --color=auto' ||
~ / .bashrc (ฉันจำไม่ได้ว่า bash บน Linux จะอ่าน ~ / .profile เสมอ แต่ไม่ใช่ zsh ของฉันใน ARCH)
[[ -f $HOME/.profile ]] && source $HOME/.profile
คุณจะต้องติดตั้งรุ่นls
อื่น สิ่งที่มักใช้ใน linux นั้นมาจากโครงการGNU coreutils
คุณสามารถสร้างและติดตั้งหรือติดตั้งจากMacPorts , Finkหรือhomebrew
ls
ls
alias ls='ls -F'
alias ls='ls -FG'
- มันเป็นสิ่งที่ดีที่สุดของทั้งสองโลก!
gls
และไม่ได้แทนที่ต้นฉบับดังนั้นจึงไม่มีข้อเสีย
ผมใช้นี้สคริปต์ Perl ผมเขียนบน AIX มันจะมีประโยชน์ถ้าคุณอยู่ในระบบที่ไม่รองรับ--color
และที่ที่คุณไม่มี sudo ในการติดตั้งแพ็คเกจ
ควรทำงานบน Macintosh ด้วย