Nie jesteś zalogowany.
Jeśli nie posiadasz konta, zarejestruj je już teraz! Pozwoli Ci ono w pełni korzystać z naszego serwisu. Spamerom dziękujemy!
Prosimy o pomoc dla małej Julki — przekaż 1% podatku na Fundacji Dzieciom zdazyć z Pomocą.
Więcej informacji na dug.net.pl/pomagamy/.
Strony: 1
Mam przed sobą szereg plików konfiguracyjnych od zsh, bo właśnie się przenoszę i min. jest tam plik z aliasami (ok 4k linijek) i sobie tam czytam po kolei i zastanawia mnie jedna rzecz, przykładowo, weźmy konfigurację dla ls -- standardowo jest tam coś takiego:
if [ -x /usr/bin/dircolors ]; then test -r ~/.dircolors && eval "$(dircolors -b ~/.dircolors)" || eval "$(dircolors -b)" alias ls='ls --color=auto' alias dir='dir --color=auto' alias vdir='vdir --color=auto' alias grep='grep --color=auto' alias fgrep='fgrep --color=auto' alias egrep='egrep --color=auto' fi
i to jest uzależnione od tego dircolors , bez którego to nie pokoloruje się nam wyjście. I teraz jak do tego dokleić np to poniższe:
alias ls='ls --classify --human-readable --all --group-directories-first --time-style="+%Y-%m-%d %H:%M:%S"'
Mógłbym to wrzucić w tę powyższa linijkę z ls ale wtedy mi nie zadziałają te opcje jeśli nie będzie dircolors .Mógłbym też stworzyć inny alias, np. lsa i tam wrzucić wywołanie ls + te opcje . Obu przypadków jednak chcę uniknąć i czy jest jakaś możliwość dodania jednych opcji do drugich, ja wiem coś na wzór "+=" ? Wtedy jeśli nie będzie dircolors, to zaaplikuje mi tylko te ostatnie opcje.
Offline
Sparsuj wynik which ls?
Albo dodatkowy if.
Offline
A tego się nie da zrobić na aliasach samych? Bo w sumie to sprawdziłem póki co tylko ze zmiennymi i tym += i dodawać to dodaje parametry, tylko coś polecenie nie chce się wywołać w formacie 'ls $opt' . Jeszcze wrócę do tego.
Offline
Chyba zrobiłem to:
$ unset opt $ opt=' --color=auto ' $ opt+=' --classify --human-readable --all --group-directories-first --time-style="+%Y-%m-%d %H:%M:%S" ' $ echo $opt --color=auto --classify --human-readable --all --group-directories-first --time-style="+%Y-%m-%d %H:%M:%S" $ alias ls='ls $opt' $ ls ls: cannot access --color=auto --classify --human-readable --all --group-directories-first --time-style="+%Y-%m-%d %H:%M:%S" : No such file or directory
Trzeba było inaczej ten alias robić:
$ alias ls="ls $opt"
I teraz już działa.
Offline
no to teraz poczytaj sobie Wielką Xięgę Proroka Manuala o bashu traktującą, ze szczególnym zwróceniem uwagi na rozdział "czym się różnią apostrof i cudzysłów" :)
Offline
Strony: 1