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!

Ogłoszenie

Prosimy o pomoc dla małej Julki — przekaż 1% podatku na Fundacji Dzieciom zdazyć z Pomocą.
Więcej informacji na dug.net.pl/pomagamy/.

#1  2015-02-24 11:03:10

  morfik - Cenzor wirtualnego świata

morfik
Cenzor wirtualnego świata
Skąd: ze WSI
Zarejestrowany: 2011-09-15
Serwis

Dodawanie argumentów w aliasach w konfiguracji shella

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:

Kod:

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:

Kod:

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

 

#2  2015-02-24 11:32:59

  azhag - Admin łajza

azhag
Admin łajza
Skąd: Warszawa
Zarejestrowany: 2005-11-15

Re: Dodawanie argumentów w aliasach w konfiguracji shella

Sparsuj wynik [tt]which ls[/tt]?

Albo dodatkowy if.


Błogosławieni, którzy czynią FAQ.
[url=http://www.opencaching.pl]opencaching[/url] :: [url=http://dug.net.pl/sources.list]debian sources.list[/url] :: [url=http://www.linuxportal.pl/blogi/azhag/wpisy]coś jakby blog[/url] :: [url=http://dug.net.pl/]polski portal debiana[/url] :: linux user #403712

Offline

 

#3  2015-02-24 12:31:45

  ethanak - Użytkownik

ethanak
Użytkownik
Skąd: Ungwenor
Zarejestrowany: 2010-07-19
Serwis

Re: Dodawanie argumentów w aliasach w konfiguracji shella

albo else


Nim mechaniczne larum zagrasz mi, kanalio,
głosząc nadejście Javy - śmiertelnego wroga!
[i]Zespół Adwokacki Dyskrecja[/i]

Offline

 

#4  2015-02-24 12:49:31

  morfik - Cenzor wirtualnego świata

morfik
Cenzor wirtualnego świata
Skąd: ze WSI
Zarejestrowany: 2011-09-15
Serwis

Re: Dodawanie argumentów w aliasach w konfiguracji shella

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

 

#5  2015-02-24 13:12:35

  ethanak - Użytkownik

ethanak
Użytkownik
Skąd: Ungwenor
Zarejestrowany: 2010-07-19
Serwis

Re: Dodawanie argumentów w aliasach w konfiguracji shella

a "ls $opt" też nie przechodzi? pytam bo nie wiem.


Nim mechaniczne larum zagrasz mi, kanalio,
głosząc nadejście Javy - śmiertelnego wroga!
[i]Zespół Adwokacki Dyskrecja[/i]

Offline

 

#6  2015-02-24 14:24:31

  morfik - Cenzor wirtualnego świata

morfik
Cenzor wirtualnego świata
Skąd: ze WSI
Zarejestrowany: 2011-09-15
Serwis

Re: Dodawanie argumentów w aliasach w konfiguracji shella

Chyba zrobiłem to:

Kod:

$ 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ć:

Kod:

$ alias ls="ls $opt"

I teraz już działa.

Offline

 

#7  2015-02-24 14:30:41

  ethanak - Użytkownik

ethanak
Użytkownik
Skąd: Ungwenor
Zarejestrowany: 2010-07-19
Serwis

Re: Dodawanie argumentów w aliasach w konfiguracji shella

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" :)


Nim mechaniczne larum zagrasz mi, kanalio,
głosząc nadejście Javy - śmiertelnego wroga!
[i]Zespół Adwokacki Dyskrecja[/i]

Offline

 

Stopka forum

Powered by PunBB
© Copyright 2002–2005 Rickard Andersson
Możesz wyłączyć AdBlock — tu nie ma reklam ;-)

[ Generated in 0.008 seconds, 11 queries executed ]

Informacje debugowania

Time (s) Query
0.00009 SET CHARSET latin2
0.00004 SET NAMES latin2
0.00060 SELECT u.*, g.*, o.logged FROM punbb_users AS u INNER JOIN punbb_groups AS g ON u.group_id=g.g_id LEFT JOIN punbb_online AS o ON o.ident='3.16.76.102' WHERE u.id=1
0.00103 REPLACE INTO punbb_online (user_id, ident, logged) VALUES(1, '3.16.76.102', 1732539108)
0.00071 SELECT * FROM punbb_online WHERE logged<1732538808
0.00056 SELECT topic_id FROM punbb_posts WHERE id=283541
0.00007 SELECT id FROM punbb_posts WHERE topic_id=27080 ORDER BY posted
0.00047 SELECT t.subject, t.closed, t.num_replies, t.sticky, f.id AS forum_id, f.forum_name, f.moderators, fp.post_replies, 0 FROM punbb_topics AS t INNER JOIN punbb_forums AS f ON f.id=t.forum_id LEFT JOIN punbb_forum_perms AS fp ON (fp.forum_id=f.id AND fp.group_id=3) WHERE (fp.read_forum IS NULL OR fp.read_forum=1) AND t.id=27080 AND t.moved_to IS NULL
0.00006 SELECT search_for, replace_with FROM punbb_censoring
0.00073 SELECT u.email, u.title, u.url, u.location, u.use_avatar, u.signature, u.email_setting, u.num_posts, u.registered, u.admin_note, p.id, p.poster AS username, p.poster_id, p.poster_ip, p.poster_email, p.message, p.hide_smilies, p.posted, p.edited, p.edited_by, g.g_id, g.g_user_title, o.user_id AS is_online FROM punbb_posts AS p INNER JOIN punbb_users AS u ON u.id=p.poster_id INNER JOIN punbb_groups AS g ON g.g_id=u.group_id LEFT JOIN punbb_online AS o ON (o.user_id=u.id AND o.user_id!=1 AND o.idle=0) WHERE p.topic_id=27080 ORDER BY p.id LIMIT 0,25
0.00211 UPDATE punbb_topics SET num_views=num_views+1 WHERE id=27080
Total query time: 0.00647 s