nefunguje bezchybny script BASH
Pavel Kankovsky
peak na argo.troja.mff.cuni.cz
Neděle Září 19 11:52:38 CEST 2004
On Fri, 17 Sep 2004, AntiTrust - AT wrote:
> Cize zsh potom nesplna POSIX? (resp. ho mam zle nastaveny?)
Asi nesplnuje. Ovsem ne vsechny shelly jsou si rovny.
I bash se chova ruzne podle toho, zda ho spustite jako sh (nebo bash
--posix) nebo jako bash.
> Okrem toho v commandline mi to v bash-i aj zsh ide OK.
> cat ~x4/orig AJ ll ~x4/orig ...
A zadavate totez, co v tom skriptu (tj. napr. ls "~$inputfile")?
> inputfile="~"$user"/orig"
> echo $inputfile
> cat $inputfile
> ls $inputfile
Uz jsem rikal, ze ~ se expanduje pred expanzi promennych a ze se to nedela
v uvozovkach.
Takze do inputfile pujde text "~x4/orig".
"cat $inputfile" se projde expanzi ~ beze zmeny, pak se nahradi
promenna a provede rozdeleni na slova, vznikne seznam ("cat", "~x4/orig"),
ktery se provede ("cat" bude prikaz, "~x4/orig" argument). cat (ls atd.)
pochopitelne nic o ~ nevi, takze skonci s tim, ze soubor ci adresar toho
jmena nezna.
Je to tak slozite pochopit?
--Pavel Kankovsky aka Peak [ Boycott Microsoft--http://www.vcnet.com/bms ]
"Resistance is futile. Open your source code and prepare for assimilation."
Další informace o konferenci Linux