เทอร์มินัลไม่แสดงสีสำหรับรายชื่อไดเรกทอรี


9

ฉันไม่รู้ว่าทำไมเซสชัน bash ของฉันจึงไม่แสดงสี ฉันลองใช้ Terminal เช่นเดียวกับ iTerm แล้ว

ฉันเหนื่อย:

  1. ls -G
  2. การตั้งค่าexport CLICOLOR=1และexport LSCOLORS=GxFxCxDxBxegedabagaced
  3. การใช้ชุดรูปแบบที่แตกต่างกันเช่นการทำให้เป็นแสงอาทิตย์และอย่างอื่น

ซอฟต์แวร์เวอร์ชันของฉันคือ:

  1. bash: GNU bash, รุ่น 3.2.51 (1) - ปล่อย (x86_64-apple-darwin13)
  2. osx: 10.9.2

ฉันติดตั้ง Homebrew แล้ว

ฉันไม่รู้ว่าข้อมูลอื่นใดที่อาจเป็นประโยชน์ ฉันใช้เวลาเยอะบนเปลือกหอยปัญหานี้กำลังน่ารำคาญมาก :)

แก้ไข: ในการตั้งค่าเทอร์มินัลฉันมี 'ประกาศเทอร์มินัลเป็น: xterm-256color' และ 'แสดง ANSI สี' พร้อมกับ 'ใช้สีสดใสสำหรับข้อความที่เป็นตัวหนา'


ลองใช้หากที่ทำงานแล้วมันเป็นปัญหากับprintf '\e[32mtest\n' ls
0942v8653

ฉันกำลังประสบปัญหานี้เช่นกัน เพื่อขยายสิ่งที่คุณได้ลองปัญหายังคงอยู่กับคำสั่ง coreutils 'gls ความคิดเห็นด้านบนเปลี่ยนสีของพรอมต์ได้สำเร็จ ปัญหาของฉันดูเหมือนจะอยู่ในธีม SolarizedDark เนื่องจากการเปลี่ยนสีในการกำหนดค่าตามความชอบของ Terminal.app ในธีมอื่น ๆ ใช้งานได้
agweber

คำตอบ:


4

ฉันขอแนะนำให้ติดตั้งGNU Core Utilitiesผ่าน Homebrew ซึ่งจะให้เวอร์ชั่น "Linux" ของคุณls(แทนรุ่น FreeBSD ที่มาพร้อมกับ OS X) รวมถึงเครื่องมือที่ทรงพลังอื่น ๆ

brew update
brew install coreutils

จากนั้นคุณควรจะสามารถแสดงสีต่างๆด้วย:

gls --color

นอกจากนี้อ่าน caveats เพื่อกำหนดค่า PATH ของคุณเพื่อให้คุณสามารถใช้คำสั่งเช่นเดียวglsกับชื่อปกติของพวกเขาเช่นls:

$ brew info coreutils
coreutils: stable 8.23 (bottled)
https://www.gnu.org/software/coreutils
Conflicts with: ganglia, idutils
/usr/local/Cellar/coreutils/8.23 (214 files, 10M)
  Poured from bottle
/usr/local/Cellar/coreutils/8.23_1 (214 files, 10M) *
  Poured from bottle
From: https://github.com/Homebrew/homebrew/blob/master/Library/Formula/coreutils.rb
==> Dependencies
Build: xz 
==> Caveats
All commands have been installed with the prefix 'g'.

If you really need to use these commands with their normal names, you
can add a "gnubin" directory to your PATH from your bashrc like:

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

Additionally, you can access their man pages with normal names if you add
the "gnuman" directory to your MANPATH from your bashrc as well:

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

เป็นที่น่าสังเกตว่า gls (GNU ls) ไม่เปิดใช้งานสีโดยเพียงแค่กำหนดตัวแปรสภาพแวดล้อม CLICOLOR เป็นคำสั่ง BSD ls เริ่มต้นจาก OS X นอกจากนี้สวิตช์ -G เพื่อเปิดใช้งานสีใน BSD ls ไม่ทำงานสำหรับ GNU ls และ - color ใช้งานได้กับ BSD ls คุณต้องกำหนดนามแฝงสำหรับ ls เพื่อเพิ่มสวิตช์ --color หากคุณต้องการคำสั่ง ls ทั้งหมดของคุณให้เป็นสี สำหรับการอ้างอิงจาก "man ls" (รส BSD): "-G เปิดใช้งานเอาต์พุต colorized ตัวเลือกนี้เทียบเท่ากับการกำหนด CLICOLOR ในสภาพแวดล้อม"
Mark Edington

ใช้ gls --color หลังจากติดตั้ง coreutils ฉันได้สีเริ่มต้นไม่ใช่สีจาก LSCOLORS ของฉัน เนื่องจากฉันได้กำหนดเส้นทางของฉันเพื่อเริ่มต้นเครื่องมือ gnu ตามชื่อปกติของพวกเขาฉันเพิ่งใช้ rm which lsเพื่อกลับไปที่ / bin / ls ซึ่งทำงานได้ดี น่าแปลกใจที่สิ่งนี้ทำให้โกรธออกจากเปลือกปัจจุบันซึ่งไม่สามารถหา ls ได้อีกต่อไป แต่กระสุนใหม่ทำงานได้ดี bash ไม่มีการทำ rehash ดังนั้นฉันจึงไม่เข้าใจว่าทำไมมันจึงวางสายบน / usr / local / opt / coreutils / libexec / gnubin / ls
Aaron McMillin

1

ในเทอร์มินัลของ Temrinal> การตั้งค่าเลือกโปรไฟล์สำหรับประเภทเซสชั่นที่คุณใช้และตรวจสอบภายใต้แท็บขั้นสูงสิ่งที่เทอร์มินัลประกาศคุณกำลังใช้ เป็นไปได้ว่าส่วนที่เลือกไม่รองรับ ANSI colouring xterm-256color ควรสนับสนุนสิ่งที่คุณคาดหวัง


ฉันเพียงแค่การตรวจสอบสถานีมีการตั้งค่าแล้ว xterm-256color (คำถามปรับปรุงเพื่อให้สอดคล้องนี้และข้อมูลอื่น ๆ )
Shahbaz
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.