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