Portál AbcLinuxu, 4. května 2025 05:40

Dotaz: mplayer alias do .zshrc

12.12.2007 16:40 1john2 | skóre: 35 | blog: jo12hn | zlín, brno
mplayer alias do .zshrc
Přečteno: 314×
Odpovědět | Admin
dobry den,

jsem spokojenym uzivatelem zsh shellu a pokousim se definovat si aliasy do souboru .zshrc, ktery mam upraveny od kamose, ale to by na muj problem snad nemelo mit vliv.

mam nadefinovan alias play='sudo nice -n -10 mplayer $1 ' zvyseni priority procesu mam kvuli nesekani hudby, protoze pouzivam starsi pc. $1 pouzivam pro definovani alba ktere chci prehrat:

jsem v adresari moby a zadam

play mix/*

toto mi normalne funguje, ale chtel bych /* presunout do aliasu, bohuzel netusim jak, provadel jsem nejake pokusy,

typu

play='sudo nice -n -10 mplayer $1/* '

play='sudo nice -n -10 mplayer '$1/*' '

toto vetsinou vedlo k pokusu mplayeru prehrat vsechny soubory na disku. tyto pokusy bylyo strelba od boku, netusim, jak na to, muzete me nasmerovat k nejakemu navodu? pripadne napsat reseni? diky za kazdou radu
Nástroje: Začni sledovat (0) ?Zašle upozornění na váš email při vložení nového komentáře.

Odpovědi

12.12.2007 19:17 Ash | skóre: 53
Rozbalit Rozbalit vše Re: mplayer alias do .zshrc
Odpovědět | | Sbalit | Link | Blokovat | Admin
Jste si jist tím, že zsh umí předávat do aliasu nějaké parametry?

To, že váš původní příklad funguje může být náhoda -- $1 se třeba vezme jako proměnná 1, čili se nahradí ničím, a další peraetr pak je ten váš mix/*.
mplay='sudo nice -n -10 mplayer $1 '

play mix/* ==
sudo nice -n -10 mplayer $1 mix/* ==
sudo nice -n -10 mplayer mix/*
V případě druhém pak analogicky
play mix/* ==
sudo nice -n -10 mplayer $1/* mix ==
sudo nice -n -10 mplayer /* mix
Pro takovéto věci bych volil místo aliasu skript, ale je samozř. možné, že zsh má nějaké fičury o nichž nevím.
12.12.2007 21:43 Ash | skóre: 53
Rozbalit Rozbalit vše Re: mplayer alias do .zshrc
Vlasntě pokud byste nechtěl skript, tak by asi byla možnost ještě funkci: play() { sudo nice -n -10 mplayer $1/*; }
12.12.2007 22:45 1john2 | skóre: 35 | blog: jo12hn | zlín, brno
Rozbalit Rozbalit vše Re: mplayer alias do .zshrc
bohuzel netusim kam s tou funkci.. do .zshrc ? ted to spis resim pres skript, viz problem nize...
13.12.2007 00:57 Ash | skóre: 53
Rozbalit Rozbalit vše Re: mplayer alias do .zshrc
Ano, přesně tam. Napíšete to do .zshrc
12.12.2007 22:12 1john2 | skóre: 35 | blog: jo12hn | zlín, brno
Rozbalit Rozbalit vše Re: mplayer alias do .zshrc
kdyz v 1. pripade doplni za $1 "nic" a pak je prijme dalsi parametr mix/* to funguje v pripade 2: doplni za $1 "nic" a pokusi se prehrat /* coz opravdu dela, pak vypise adresar mix, coz odpovida a nefunguje, cili to vidim tak ze mate pravdu:-) nikdy me nenapadlo ze tohle nemusi fungovat, jdu proverit ten skript, ten vypada nadejne, jen me stve ze me takove reseni nenapadlo samotneho:-( diky za pomoc
12.12.2007 22:42 1john2 | skóre: 35 | blog: jo12hn | zlín, brno
Rozbalit Rozbalit vše Re: mplayer alias do .zshrc
takze

#!/bin/bash

sudo nice -n -10 mplayer $1/*;

funguje pouze pro jednoslovne nazvy:-( tusite nekdo jak mu rict ze the\ doors/* nejsou dve ruzne skupiny? zkousel sem

sudo nice -n -10 mplayer "$1/*";

sudo nice -n -10 mplayer '$1/*'; ale nefunguje
12.12.2007 23:13 marbu | skóre: 31 | blog: hromada | Brno
Rozbalit Rozbalit vše Re: mplayer alias do .zshrc
Zvláštní - imho by to mělo fungovat pokud to tomu skriptu správně předáte (což podle zápisu the\ doors děláte). Btw tím, že dáte znak * do uvozovek ztrácí svou řídící funkci a expanze názvů souborů se neprovede. Smysl by mohlo mít dávat do uvozovek proměné, např. "$1"
Tohle prošlo i v případě mezer v názvech adresáře i souborů. Jako parametr tomu předhazuju název adresáře s hudbou:
#!/bin/bash

# bez parametru bereme aktualni adresar
if [ $# -eq 0 ]; then
    set $PWD
fi

# testujeme, zda je prvni parametr adresar
if [ -d "$1" ]; then
    mplayer "$1"/*;
else
    echo $1 neni adresar
fi
There is no point in being so cool in a cold world.
13.12.2007 00:55 Ash | skóre: 53
Rozbalit Rozbalit vše Re: mplayer alias do .zshrc
Nikoliv "$1/*" ale "$1"/*.
12.12.2007 23:27 marbu | skóre: 31 | blog: hromada | Brno
Rozbalit Rozbalit vše Re: mplayer alias do .zshrc
nikdy me nenapadlo ze tohle nemusi fungovat
Ale když si uvědomíte, že alias (aspoň ten v bashi) prostě jen nahrazuje v zpracovávaném příkazu jeden kus textu jiným kusem textu, tak je to i celkem logické.
There is no point in being so cool in a cold world.
12.12.2007 19:24 marbu | skóre: 31 | blog: hromada | Brno
Rozbalit Rozbalit vše Re: mplayer alias do .zshrc
Odpovědět | | Sbalit | Link | Blokovat | Admin
Doporučuju MusicPlayerDaemona :-)
Jinak bych to řešil spíš skriptem, něco jako:
#!/bin/bash
sudo nice -n -10 mplayer $1/*;
ale s tím, že tam není kontrola parametrů a není to v zsh
There is no point in being so cool in a cold world.

Založit nové vláknoNahoru

Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.