Здравствуйте, уважаемые форумчане, аноним и случайные посетители!
Мне нужно, чтобы при входе на сервер по 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="` это не работает никак. Возможно, всему виной кавычки, возможно, всё портит переменная $@.
Поделитесь готовым решением или как правильно дописать свой код?