LinuxForum.Fans
Тема

Поделитесь своим .bashrc или как раскрасить ls в bash

Автор: redux 11 сообщений 4959 просмотров
#88849

У кого ленни или сквиз со стандартной раскраской ls в консоли, поделитесь, пожалуйста своим
~/.bashrc
smile

#88857

Для раскраски вывода ls надо установить переменую окружения LS_COLORS,
man dircolors.
Лично я сохранил её вывод и эту переменную устанавливаю в своём ~/.tcshrc.

Пётр.

#88873

Сделал
dircolors -b
сохранил в ./tcshrc

Всё равно при ls всё зеленое.

ЧЯДНТ?

#88972
redux написал:
Сделал
dircolors -b
сохранил в ./tcshrc

Всё равно при ls всё зеленое.

ЧЯДНТ?

У меня shell tcsh, поэтому я и переменную устанавливаю в нём,
а в bash это действительно надо делать в ~/.bashrc,
и не сохранять, а устанавливать переменную, именно окружения.
И вообще это можно сделать в /etc/profile, чтобы работало для всех.

Пётр.

#89086

Спасибо за ответы, направление понятно.

#89108

У меня тоже tcsh.

#89794

BaCuJIuu, По вашей ссылке много всего, но точно того, что надо нет(говоря точнее, у меня так не заработало почему то, как там написано).

Я тут кратенько распишу, может кому то понадобиться решить такой скромный вопрос.

Итак, если у вас проблема в том, что после установки Дебиана, команда ls в терминале (консоли и эмуляторе) не цветная, и при этом, в настройках эмулятора нет реакции на смену цветовой темы,
то:

1.Создаём в домашнем каталоге скрытый файл
.bash_profile
с содержанием
source ~/.bashrc

2.Создаём там же скрытый файл
.bashrc
С содержанием

text
# .bashrc

# Source global definitions if [ -f /etc/bashrc ]; then ~/.bashrc fi

LS_COLORS='no=00:fi=00:di=01;34:ln=01;36:pi=40;33:so=01;35:do=01;35:bd=40;33;01:cd=40;33;01:or=40;31;01:su=37;41:sg=30;43:tw=30;42:ow=34;42:st=37;44:ex=01;32:*.tar=01;31:*.tgz=01;31:*.svgz=01;31:*.arj=01;31:*.taz=01;31:*.lzh=01;31:*.lzma=01;31:*.zip=01;31:*.z=01;31:*.Z=01;31:*.dz=01;31:*.gz=01;31:*.bz2=01;31:*.bz=01;31:*.tbz2=01;31:*.tz=01;31:*.deb=01;31:*.rpm=01;31:*.jar=01;31:*.rar=01;31:*.ace=01;31:*.zoo=01;31:*.cpio=01;31:*.7z=01;31:*.rz=01;31:*.jpg=01;35:*.jpeg=01;35:*.gif=01;35:*.bmp=01;35:*.pbm=01;35:*.pgm=01;35:*.ppm=01;35:*.tga=01;35:*.xbm=01;35:*.xpm=01;35:*.tif=01;35:*.tiff=01;35:*.png=01;35:*.svg=01;35:*.mng=01;35:*.pcx=01;35:*.mov=01;35:*.mpg=01;35:*.mpeg=01;35:*.m2v=01;35:*.mkv=01;35:*.ogm=01;35:*.mp4=01;35:*.m4v=01;35:*.mp4v=01;35:*.vob=01;35:*.qt=01;35:*.nuv=01;35:*.wmv=01;35:*.asf=01;35:*.rm=01;35:*.rmvb=01;35:*.flc=01;35:*.avi=01;35:*.fli=01;35:*.gl=01;35:*.dl=01;35:*.xcf=01;35:*.xwd=01;35:*.yuv=01;35:*.aac=00;36:*.au=00;36:*.flac=00;36:*.mid=00;36:*.midi=00;36:*.mka=00;36:*.mp3=00;36:*.mpc=00;36:*.ogg=00;36:*.ra=00;36:*.wav=00;36:'; export LS_COLORS

# User specific aliases and functions alias ls='ls --color'

И всё.

Далее, после этого, если изменять в настройках эмулятора цветовую тему, то ее можно изменить выбором в списке.

Примечание:
Строку для LS_COLORS
Можно сгенерировать командой
dircolors -b

Всё сказанное относится к bash.
(может, содержание приведенных файлов и не совсем идеологичеки правильное, но никто ж не выложил свой пример.)

#91063

Вот как это сделал Патрег:
[console]cat /etc/profile.d/coreutils-dircolors.sh [/console]
(этот файл вызывается из /etc/profile)

Показать
text
# Slackware color ls profile script for /bin/sh-like shells.        

# Set up LS_OPTIONS environment variable. # This contains extra command line options to use with ls. # The default ones are: # -F = show '/' for dirs, '*' for executables, etc. # -T 0 = don't trust tab spacing when formatting ls output. # -b = better support for special characters if [ "$SHELL" != "/bin/zsh" ]; then # Edit options below for all sh-like shells except zsh: OPTIONS="-F -b -T 0" else # If you use zsh, edit the options below instead: OPTIONS=( -F -b -T 0 ) fi

# COLOR needs one of these arguments: # 'auto' colorizes output to ttys, but not pipes. # 'always' adds color characters to all output. # 'never' shuts colorization off. COLOR=auto

# This section shouldn't require any user adjustment since it is # simply setting the LS_OPTIONS variable using the information # already given above: if [ "$SHELL" = "/bin/zsh" ]; then LS_OPTIONS=( $OPTIONS --color=$COLOR ); else LS_OPTIONS=" $OPTIONS --color=$COLOR "; fi export LS_OPTIONS; unset COLOR unset OPTIONS

# Set up aliases to use color ls by default. A few additional # aliases like 'dir', 'vdir', etc, are some ancient artifacts # from 1992 or so... possibly they should be disabled, but maybe # someone out there is actually using them? :-) # Assume shell aliases are supported. Ash is going to freak out # when it sees zsh syntax anyway, so whatever. alias ls='/bin/ls $LS_OPTIONS'; alias dir='/bin/ls $LS_OPTIONS --format=vertical'; alias vdir='/bin/ls $LS_OPTIONS --format=long'; alias d=dir; alias v=vdir;

# Just for fun, here are the old sh/ash style shell functions. # this script isn't currently working with ash (and makes some noisy # error messages), but perhaps these will still be of use to # someone... #ls () { /bin/ls $LS_OPTIONS "$@" ; }; #dir () { /bin/ls $LS_OPTIONS --format=vertical "$@" ; }; #vdir () { /bin/ls $LS_OPTIONS --format=long "$@" ; }; #d () { dir "$@" ; }; #v () { vdir "$@" ; };

# Set up the LS_COLORS environment: if [ -f $HOME/.dir_colors ]; then eval `/bin/dircolors -b $HOME/.dir_colors` elif [ -f /etc/DIR_COLORS ]; then eval `/bin/dircolors -b /etc/DIR_COLORS` else eval `/bin/dircolors -b` fi

ИМХО это более правильное и верное решение (для csh там есть свой файл)
Как всегда в Slackware полно комментов, и вы можете менять на свой вкус (может я и поменял уже немного...).

#91115

drBatty, В etch тоже соотвествующий файл примерно такой (Я недавно смотрел). Он и в ленни должен был быть и в сквизе, просто я снес в ходе опытов. И вот хотел восстановить.....
Спасибо за пример из слаки :)

#91272
redux написал:
Спасибо за пример из слаки smile

нзч.
можно было:
1) найти пакет с этим файлом, а он где-то в /etc/profile* ведь пакетный менеджер у вас это умеет! (в слаке у меня вообще нет ПМ, а могу найти)
2) распаковать этот пакет (у меня есть dpkg вроде-бы)

ЗЫЖ там ещё для csh отдельный файл есть...

Войдите или зарегистрируйтесь, чтобы ответить.