ฉันพยายามย้ายการกำหนดค่า 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 ด้วย