Fórum Ubuntu CZ/SK

Ubuntu pro osobní počítače => Software => Příkazový řádek a programování pro GNU/Linux => Téma založeno: Martin - ViPEr*CZ* 14 Listopadu 2008, 17:36:09

Název: Otevření a uložení dat na konec souboru (za pomoci bashe) [vyřešeno]
Přispěvatel: Martin - ViPEr*CZ* 14 Listopadu 2008, 17:36:09
Potřeboval bych otevřít nějakej textovej soubor a zapsat na konec nějaký data. Jak na to?
A popřípadě by mě taky zajmalo jak udělám třeba to, že přes bash pustím třeba konzolovku co mi vrátí nějakej řetězec a ten řetězec načtu do proměnný v bash scriptu pro další použití.
Název: Re: Otevření a uložení dat na konec souboru (za pomoci bashe)
Přispěvatel: Tomáš "Piškot" Petera 14 Listopadu 2008, 17:37:50
Zkus zapsat do konzole tohle, pak při startu sytému spuštíš tenhle příkaz

echo "data" >> /adresa/soubor
Název: Re: Otevření a uložení dat na konec souboru (za pomoci bashe)
Přispěvatel: Tomáš "Piškot" Petera 14 Listopadu 2008, 17:38:42
případně  program >> /adresa/soubor
Název: Re: Otevření a uložení dat na konec souboru (za pomoci bashe)
Přispěvatel: Martin - ViPEr*CZ* 14 Listopadu 2008, 17:49:41
echo "data" >> /adresa/soubor Takže toto zapíše data do souboru nakonec.
program >> $data A toto do proměnné data.

Doufám, že to je správně.
Název: Re: Otevření a uložení dat na konec souboru (za pomoci bashe)
Přispěvatel: Tomáš "Piškot" Petera 14 Listopadu 2008, 17:56:11
program >> /adresa/soubor

přesměruje výstup na obrazovku do souboru (přidá na konec).
Název: Re: Otevření a uložení dat na konec souboru (za pomoci bashe)
Přispěvatel: Martin - ViPEr*CZ* 14 Listopadu 2008, 18:02:44
Jj jasný... a to co jsem přepsal tučně já je taky ok.
Název: Re: Otevření a uložení dat na konec souboru (za pomoci bashe)
Přispěvatel: nettezzaumana 14 Listopadu 2008, 18:11:30
Potřeboval bych otevřít nějakej textovej soubor a zapsat na konec nějaký data. Jak na to?
A popřípadě by mě taky zajmalo jak udělám třeba to, že přes bash pustím třeba konzolovku co mi vrátí nějakej řetězec a ten řetězec načtu do proměnný v bash scriptu pro další použití.
?? ee.. takove zakladni neznalosti .. to bych u tebe necekal ..

http://tldp.org/LDP/abs/html/

prirazeni promenne se nedela via `foo >>BAR` ale spis takto ;)

BAR=$(foo);
Název: Re: Otevření a uložení dat na konec souboru (za pomoci bashe)
Přispěvatel: qUAKER 14 Listopadu 2008, 18:15:34
Potřeboval bych otevřít nějakej textovej soubor a zapsat na konec nějaký data. Jak na to?
A popřípadě by mě taky zajmalo jak udělám třeba to, že přes bash pustím třeba konzolovku co mi vrátí nějakej řetězec a ten řetězec načtu do proměnný v bash scriptu pro další použití.

ad.1) echo "cozapsat" | tee -a soubor # bez parametru -a se soubor přepíše
ad.2) x=$(prikaz)
Název: Re: Otevření a uložení dat na konec souboru (za pomoci bashe)
Přispěvatel: Martin - ViPEr*CZ* 14 Listopadu 2008, 18:22:39
Díky za rady. Bohužel bash skriptování neumím. Tak jsem ho začal kapku napravovat ;)
Momentálně jsem na GPRS modemu v terénu, tak jsem to hodil sem jinak bych použil google. (určitě bude zajímat i jiné začátečníky)
Název: Re: Otevření a uložení dat na konec souboru (za pomoci bashe)
Přispěvatel: Martin - ViPEr*CZ* 14 Listopadu 2008, 19:13:03
vystup = $(mkdir /var/www/$pokus)

tak todle nějak nefunguje...pro začátečníky...: bohužel to nepodporuje mezeru co je mezi proměnnou a příkazem (u prostřed rovnítko)

PS: další poznatek je že pokud mkdir vrátí:
Kód: [Vybrat]
mkdir: adresář „/var/www/viper“ nelze vytvořit: File exists
tak se ale do proměnné výstup nic neuložilo  :'(
Název: Re: Otevření a uložení dat na konec souboru (za pomoci bashe)
Přispěvatel: nettezzaumana 14 Listopadu 2008, 19:22:43
RTFM (`man bash`, http://tldp.org/LDP/abs/html/)

error hlasky se vypisuji na sterr a tudiz, pokud chces do promenne zapsat opravdu vse, tak musis premerovat na stdout i stderr pomoci &>

takze :: vystup = $(mkdir /var/www/$pokus 2>&1)
Název: Re: Otevření a uložení dat na konec souboru (za pomoci bashe)
Přispěvatel: Martin - ViPEr*CZ* 14 Listopadu 2008, 19:26:39
Zbytečně moc komplikovaný  ;D jinak díky.