Predani dat ze stdin do promene - bash
Martin Klumpler
klumpler na novy-jicin.cz
Pátek Červenec 25 08:58:37 CEST 2003
Dobry den,
potrebuju v bash scriptiku dostat to, co mi prijde na stdin do promenne.
Zkousel jsem dve metody, ani jedna neudelala to, co jsem cekal:
1. pokus
#!/bin/bash
vstup=`cat -`
echo $vstup
Zachova se takto:
[0849 na alfa:~/temp]$ cat vstupnisoubor
prvni radek
druhy radek
treti radek
[0849 na alfa:~/temp]$ cat vstupnisoubor | ./nacti
prvni radek druhy radek treti radek
[0849 na alfa:~/temp]$
...tj. "pozere" mi to konce radek, coz mi vadi
2. pokus
#!/bin/bash
read vstup
echo $vstup
[0851 na alfa:~/temp]$ cat vstupnisoubor | ./nacti
prvni radek
[0851 na alfa:~/temp]$
... tj. nacte jenom prvni radek (coz celkem odpovida tomu, co ten prikaz ma
dle `help read`delat, ale neprisel jsem na to, zda lze toto chovani nejak
zmenit - volba -d vypadala nadejne, ale v nejlepsim pripade se dostanu do
situace jako v 1. pokusu)
Da se to nejak elegantne vyresit?
Diky za tipy,
Martin
Další informace o konferenci Linux