Re: pipes and colors

2018-04-16 Пенетрантность Peter Pentchev
On Mon, Apr 16, 2018 at 10:48:32AM +0300, sergio wrote:
> On 16/04/18 10:21, Peter Pentchev wrote:
> 
> 
> > Ну, если у Вас полности нету "кривых скриптов"
> 
> У меня вообще кривых скриптов нет. Я про чужие ./configure и Makefile.
> 
> 
> > "$HOME/bin/ls"
> 
> Не совсем понял, как это поможет.

Если хотите, чтобы в Вашем окружении выход ls и grep всегда был
цветным, тогда $HOME/bin/ls и $HOME/bin/grep поможет тем, что
все, что хочет выполнить ls и grep (вкл. Вашие вызови с командной
строчки) будут выполнять те оболочки, которые сделают все цветным.

Хм, но если Вы не хотите цветов, когда выполняете скрипты, тогда,
можно, сделать что-то вроде того, чего у меня в ~/.zshenv и ~/.zshrc:

[roam@straylight ~]$ cat .zshenv
[ -f ~/lang/sh/defaults/zsh_profile ] && roam_zshenv_only=1 . 
~/lang/sh/defaults/zsh_profile
[roam@straylight ~]$ cat .zshrc
[ -f ~/lang/sh/defaults/zsh_profile ] && . ~/lang/sh/defaults/zsh_profile
[roam@straylight ~]$

И потом в ~/lang/sh/defaults/zsh_profile, после всего чего:

if [ -z "$roam_zshenv_only" ]; then
# Real .zshrc territory
setopt nomatch
unsetopt appendhistory autocd beep extendedglob notify
bindkey -e

autoload -z edit-command-line
zle -N edit-command-line
bindkey '^X^E' edit-command-line

if [ -f "$HOME/.zshcompstuff" ]; then
. "$HOME/.zshcompstuff"
fi

case "$-" in
*i*)
echo 'Setting up interactive shell params..'
if [ -x "`whence -p fortune 2>/dev/null`" ]; then
fortune -a

# ...

fi
;;
esac
fi

И там, где "# ...", выложите Ваши alias-и для цветов.  Так Ваши
выполнения ls и grep с командной строчки будут цветным, но скрипты
никогда не увидят alias-и.

Всего лучшего,
Петр

-- 
Peter Pentchev  r...@ringlet.net r...@freebsd.org p...@storpool.com
PGP key:http://people.FreeBSD.org/~roam/roam.key.asc
Key fingerprint 2EE7 A7A5 17FC 124C F115  C354 651E EFB0 2527 DF13


signature.asc
Description: PGP signature


Re: pipes and colors

2018-04-16 Пенетрантность sergio

On 16/04/18 10:21, Peter Pentchev wrote:



Ну, если у Вас полности нету "кривых скриптов"


У меня вообще кривых скриптов нет. Я про чужие ./configure и Makefile.



"$HOME/bin/ls"


Не совсем понял, как это поможет.


--
sergio.



Re: pipes and colors

2018-04-16 Пенетрантность Peter Pentchev
On Mon, Apr 16, 2018 at 09:48:29AM +0300, sergio wrote:
> 
> Сейчас много кто умеет разукрасить свой вывод, а less и grep способны
> это съесть. Но как только вывод перенаправляется --- цвета пропадают. Ну
> ок, понятно почему так.
> 
> Но писать каждый раз --color=always весьма утомительно, а зааялись плохо
> тем, что --color=never не особо проще, и полно кривых скриптов, которые
> используют твой alias и не ожидают цветной вывод.
> 
> Что делать?

Ну, если у Вас полности нету "кривых скриптов", тогда можно что-то вроде:

  mkdir -- "$HOME/bin"
  echo 'exec /bin/ls --color=always "$@"' > "$HOME/bin/ls"
  chmod +x -- "$HOME/bin/ls"

...и добавить $HOME/bin в search path.  Или, можно, все symlinks
к одному 'exec "/bin/$(basename -- "$0")" --color=always "$@"'

Это не сработает для меня, потому что я весьма привикнул использовать
cut, awk, sort, perl и т.д., которые, вроде, "кривые".  Но я и не хочу
цветов везде :)

Всего лучшего,
Петр

-- 
Peter Pentchev  r...@ringlet.net r...@freebsd.org p...@storpool.com
PGP key:http://people.FreeBSD.org/~roam/roam.key.asc
Key fingerprint 2EE7 A7A5 17FC 124C F115  C354 651E EFB0 2527 DF13


signature.asc
Description: PGP signature