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
-
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í.
-
Zkus zapsat do konzole tohle, pak při startu sytému spuštíš tenhle příkaz
echo "data" >> /adresa/soubor
-
případně program >> /adresa/soubor
-
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ě.
-
program >> /adresa/soubor
přesměruje výstup na obrazovku do souboru (přidá na konec).
-
Jj jasný... a to co jsem přepsal tučně já je taky ok.
-
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);
-
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)
-
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)
-
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í:
mkdir: adresář „/var/www/viper“ nelze vytvořit: File exists
tak se ale do proměnné výstup nic neuložilo :'(
-
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)
-
Zbytečně moc komplikovaný ;D jinak díky.