GNU/Linux >> Belajar Linux >  >> Linux

Mac Os X:Dircolors Tidak Ditemukan?

Saya baru saja beralih ke Macbook Air. Saya menginstal zsh menggunakan homebrew, tetapi ketika saya menggunakan beberapa kode yang saya (awalnya) di .zshrc saya , saya mendapatkan pesan kesalahan yang mengatakan bahwa .dircolors was not found .

Di bawah ini adalah kode yang dimaksud:

zstyle ':completion:*' auto-description 'specify: %d'
zstyle ':completion:*' completer _expand _complete _correct _approximate
zstyle ':completion:*' format 'Completing %d'
zstyle ':completion:*' group-name ''
zstyle ':completion:*' menu select=2
eval "$(dircolors -b)"
zstyle ':completion:*:default' list-colors ${(s.:.)LS_COLORS}
zstyle ':completion:*' list-colors ''
zstyle ':completion:*' list-prompt %SAt %p: Hit TAB for more, or the character to insert%s
zstyle ':completion:*' matcher-list '' 'm:{a-z}={A-Z}' 'm:{a-zA-Z}={A-Za-z}' 'r:|[._-]=* r:|=* l:|=*'
zstyle ':completion:*' menu select=long
zstyle ':completion:*' select-prompt %SScrolling active: current selection at %p%s
zstyle ':completion:*' use-compctl false
zstyle ':completion:*' verbose true

zstyle ':completion:*:*:kill:*:processes' list-colors '=(#b) #([0-9]#)*=0=01;31'
zstyle ':completion:*:kill:*' command 'ps -u $USER -o pid,%cpu,tty,cputime,cmd'

Apakah dircolors tidak dikirimkan dengan Mac OS X? Bagaimana cara menginstalnya?

Pembaruan:

Jika saya menjalankan dircolors langsung di shell saya mendapatkan:

bash: dircolors; command not found

Jawaban yang Diterima:

Perintah dircolors khusus untuk GNU coreutils, jadi Anda akan menemukannya di Linux non-embedded dan di Cygwin tetapi tidak pada sistem unix lain seperti OSX. Pengaturan yang dihasilkan di .zshrc . Anda tidak portabel untuk OSX.

Karena Anda menggunakan warna default, Anda dapat meneruskan string kosong ke list-colors untuk mendapatkan warna dalam penyelesaian file.

Untuk warna dengan ls actual yang sebenarnya perintah, atur CLICOLOR variabel lingkungan pada OSX, dan juga mengatur LSCOLORS (lihat manual untuk formatnya) jika Anda ingin mengubah warna.

if whence dircolors >/dev/null; then
  eval "$(dircolors -b)"
  zstyle ':completion:*:default' list-colors ${(s.:.)LS_COLORS}
  alias ls='ls --color'
else
  export CLICOLOR=1
  zstyle ':completion:*:default' list-colors ''
fi

Jika Anda ingin mengatur warna non-default (dircolors dengan argumen file), rekomendasi saya adalah membuat hard-code output dircolors -b ~/.dircolors di .zshrc . Anda dan gunakan pengaturan ini untuk zsh dan GNU ls.

LS_COLORS=…
zstyle ':completion:*:default' list-colors ${(s.:.)LS_COLORS}
if whence dircolors >/dev/null; then
  export LS_COLORS
  alias ls='ls --color'
else
  export CLICOLOR=1
  LSCOLORS=…
fi

Linux
  1. netstat:perintah tidak ditemukan

  2. kubectl:perintah tidak ditemukan

  3. tvservice:perintah tidak ditemukan

  1. rm:perintah tidak ditemukan

  2. mv:perintah tidak ditemukan

  3. ln:perintah tidak ditemukan

  1. Tidak ditemukan

  2. nc:perintah tidak ditemukan

  3. manajer langganan:perintah tidak ditemukan