Здравствуйте, уважаемые форумчане, аноним и случайные посетители!

Мне нужно, чтобы при входе на сервер по ssh у меня были нормальные цвета по команде 'ls'. При этом задать цвета на сервере и радоваться недостаточно, так как ищется решение типа носить свою палитру всегда с собой, а не готовить её заранее в каждом новом месте.

Была выбрана стратегия использовать alias

alias ssh="/usr/bin/ssh -t $@ \"mycutecommand\""

в качестве mycutecommand использовались такие два метода:

1. При помощи переменной LS_COLORS так:

ssh -t myserv "LS_COLORS='dir=0;33'; bash -i"

Такой метод не работает в принципе, даже на этапе отладки, без алиасов, так как вначале выполняется установка переменной, а затем запускается новый баш без этой переменной. (А без запуска bash команда выполняется, и соединение закрывается)

ssh -t myserv "bash -i \"LS_COLORS='dir=0;33'\"

так тоже не работает, так как баш пытается найти файл а не команду. Ключ -c тоже не помог.

2. Записью строки в ~/.dircolors

На этапе отладки оба варианта работают:

ssh -t myserver '[[ ! -f ~/.dircolors ]] && echo "DIR 00;33" > ~/.dircolors; bash -i'
/usr/bin/ssh -t yourserver "[[ ! -f ~/.dircolors ]] && echo \"DIR 00;33\" > ~/.dircolors; bash -i"

Но добавляя это в `alias ssh="` это не работает никак. Возможно, всему виной кавычки, возможно, всё портит переменная $@.

Поделитесь готовым решением или как правильно дописать свой код?








 , , ,






URL записи