Bagaimana saya membuat ls --color = otomatis berfungsi di Mac OS X?
71
Saya mencoba untuk memindahkan konfigurasi bash saya dari Ubuntu ke Mac OS X dan sepertinya ls sedikit berbeda. Misalnya, itu tidak akan menerima --coloropsi.
lssebenarnya terpisah dari Bash. Mac OS X memiliki versi BSD ls, yang mengharuskan -Gpada baris perintah, atau CLICOLOR(dan mungkin LSCOLORS) di lingkungan.
Dito. Saya telah alias ls='ls -G'mengatur .bashrc saya di Snow Leopard.
ayaz
Untuk beberapa alasan, CLICOLOR=Yberhenti bekerja di Mac saya. alias ls='ls -G'akan memaksa lsuntuk mewarnai. Saya mendefinisikan ini hanya untuk terminal interaktif.
Perhatikan bahwa ini akan membuang awalan gdi depan semua perintah (misalnya, glsuntuk ls). Ini memberikan opsi untuk sumber file yang akan alias ini untuk Anda secara otomatis.
Saya tidak yakin apakah ada opsi untuk menginstalnya secara langsung tanpa harus melakukan semuanya alias, jadi sebagai gantinya di MacPorts diinstal dan lakukan ini .
Output mengatakan: Jika Anda benar-benar perlu menggunakan perintah ini dengan nama normal mereka, Anda dapat ... Mengapa menekankan benar-benar ? Apa kerugiannya?
z0r
Dan Anda tidak pernah mengarsipkan halaman Anda di archive.org dan sekarang tautan Anda dalam paragraf terakhir hilang
barlop
5
kompatibilitas untuk GNU dan * BSD / darwin ls
~ /. profil
#for *BSD/darwin
export CLICOLOR=1
ls --color=auto &>/dev/null && alias ls='ls --color=auto'||
~ / .bashrc (Saya tidak ingat apakah bash di Linux selalu membaca ~ / .profile, tetapi bukan zsh saya di ARCH)
mengatur variabel lingkungan CLICOLOR untuk * BSD dan sistem Darwin - jika disetel ls dan mungkin utilitas lain akan berfungsi berwarna, tetapi GNU ls (untuk Linux) mengabaikannya. Jika "ls --color = auto" tidak akan gagal (status keluar = 0) - kami memiliki versi GNU ls dan membuat alias untuk menggambar kode warna dalam mode interaktif, jika gagal - maka kami tidak perlu alias karena CLICOLOR variabel. "&> / dev / null" tapi jangan tampilkan stderr dan stdout jika ada yang gagal atau ok. Bekerja untuk linux dan osx saya. (ps bash di osx dan freebsd tidak membaca .bashrc, jadi letakkan di .profile. sudah perbaiki).
Victor Gavro
2
Anda harus memasang versi alternatif ls. Yang biasanya digunakan di linux adalah dari proyek GNU coreutils .
Anda dapat membangun dan menginstal atau menginstal dari macports , fink atau homebrew .
Itu berlebihan, menurut saya. Anda tidak perlu menginstal versi terpisah lsketika fitur yang sama didukung sedikit berbeda pada versi yang ada ls.
ayaz
Poin bagus. Kemudian lagi, warnanya belum pernah seleraku. alias ls='ls -F'
Doug Harris
alias ls='ls -FG'- ini yang terbaik dari kedua dunia!
mipadi
1
Saya melakukan ini menggunakan homebrew. Ini tidak berlebihan jika Anda menggunakan komputer Mac dan * nix dan ingin terminal Anda terlihat sama - ini memungkinkan Anda untuk menggunakan file konfigurasi yang sama di semua komputer. Ini diinstal sebagai glsdan tidak menggantikan yang asli sehingga benar-benar tidak ada downside.
pengirim
1
Saya menggunakan skrip Perl yang saya tulis di AIX . Ini berguna jika Anda berada di sistem yang tidak mendukung --color, dan juga di mana Anda tidak memiliki sudo untuk menginstal paket.
Jawaban:
ls
sebenarnya terpisah dari Bash. Mac OS X memiliki versi BSDls
, yang mengharuskan-G
pada baris perintah, atauCLICOLOR
(dan mungkinLSCOLORS
) di lingkungan.Lihat
man ls
untuk info lebih lanjut.sumber
alias ls='ls -G'
mengatur .bashrc saya di Snow Leopard.CLICOLOR=Y
berhenti bekerja di Mac saya.alias ls='ls -G'
akan memaksals
untuk mewarnai. Saya mendefinisikan ini hanya untuk terminal interaktif.Buka jendela terminal dan ketik:
Kemudian tekan Enterdan lakukan!
sumber
Gunakan Homebrew .
Perhatikan bahwa ini akan membuang awalan
g
di depan semua perintah (misalnya,gls
untukls
). Ini memberikan opsi untuk sumber file yang akan alias ini untuk Anda secara otomatis.Saya tidak yakin apakah ada opsi untuk menginstalnya secara langsung tanpa harus melakukan semuanya alias, jadi sebagai gantinya di MacPorts diinstal dan lakukan ini .
sumber
kompatibilitas untuk GNU dan * BSD / darwin ls
~ /. profil
~ / .bashrc (Saya tidak ingat apakah bash di Linux selalu membaca ~ / .profile, tetapi bukan zsh saya di ARCH)
sumber
Anda harus memasang versi alternatif
ls
. Yang biasanya digunakan di linux adalah dari proyek GNU coreutils .Anda dapat membangun dan menginstal atau menginstal dari macports , fink atau homebrew .
sumber
ls
ketika fitur yang sama didukung sedikit berbeda pada versi yang adals
.alias ls='ls -F'
alias ls='ls -FG'
- ini yang terbaik dari kedua dunia!gls
dan tidak menggantikan yang asli sehingga benar-benar tidak ada downside.Saya menggunakan skrip Perl yang saya tulis di AIX . Ini berguna jika Anda berada di sistem yang tidak mendukung
--color
, dan juga di mana Anda tidak memiliki sudo untuk menginstal paket.Harus bekerja pada Macintosh juga.
sumber