Autor |
Sõnum |
spott
Admin
Vanus: 43
Liitunud: 04.06.2005
Postitused: 8857
Distributsioon: Ubuntu
|
|
Õppin siin vaikselt Bashi skriptimist ja tekkis üks küsimus - mis käsuga ma saan olemasolevasse faili lisada uue rea.
Ehk olemas on fail kaka.conf ja sinna tahan lisada rea junn=true
St asi peab toimima automaatselt, cat-i kasutada ei taha, sest see tahab kindlasti teisest failist seda infot võtta.
|
|
|
|
_________________ Tellige endale sünnipäevaks, sõbrapäevaks või muuks tähtpäevaks kingitus: Kingitused internetist - NetiKink.eu
Viimati muutis spott 11.01.2007, 22:58; muudetud 1 kord
|
|
|
|
indrek56
Pingviini aktivist
Vanus: 51
Liitunud: 30.08.2006
Postitused: 282
Asukoht: Tartu
Distributsioon: opensuse
|
|
spott kirjutas: | Ehk olemas on fail kaka.conf ja sinna tahan lisada rea junn=true |
echo junn=true >> kaka.conf?
|
|
|
|
|
|
|
|
spott
Admin
Vanus: 43
Liitunud: 04.06.2005
Postitused: 8857
Distributsioon: Ubuntu
|
|
|
|
indrek56
Pingviini aktivist
Vanus: 51
Liitunud: 30.08.2006
Postitused: 282
Asukoht: Tartu
Distributsioon: opensuse
|
|
spott kirjutas: | ei toimi.
echo on ju info kuvamiseks |
">>" abil suunatakse "echo"-ga kuvatav hoopis etteantud faili (lõppu), ekraanil ei kuvatagi.
proovisid ikka?
|
|
|
|
|
|
|
|
johnsmith
Vana Pingviin
Vanus: 50
Liitunud: 24.07.2006
Postitused: 714
Asukoht: Universum
Distributsioon: Ubuntu/Gentoo/FreeBSD
|
|
Sed oleks vist kõige õigem selliseks tööks.
Võimaldab muuta ridasid, lisada ridasid teatud kohta failis jne.
Äkki on vaja muuta junn=false junn=trueks, Indrek56 meetod lisab junn=true faili lõppu aga junn=false jääb ikka kuhugi faili keskele.
|
|
|
|
_________________ "Thinking is the hardest work there is, which is probably the reason why so few engage in it" - Henry Ford
|
|
|
|
indrek56
Pingviini aktivist
Vanus: 51
Liitunud: 30.08.2006
Postitused: 282
Asukoht: Tartu
Distributsioon: opensuse
|
|
johnsmith kirjutas: | Indrek56 meetod lisab junn=true faili lõppu aga junn=false jääb ikka kuhugi faili keskele. |
seda ei küsitudki, seega JOKK
ette oli arvatagi et echo lõpplahendust ei paku. aga ma ei tea ka mis seal lõpuks tulema peab...
siiski-siiski, kui junn=true või junn=false on ainukesed asjad mis seal kaka.konfis sialduma hakkab, siis saab echoga ära toimetada.
|
|
|
|
Viimati muutis indrek56 09.01.2007, 22:47; muudetud 1 kord
|
|
|
|
spott
Admin
Vanus: 43
Liitunud: 04.06.2005
Postitused: 8857
Distributsioon: Ubuntu
|
|
indrek56 kirjutas: | spott kirjutas: | ei toimi.
echo on ju info kuvamiseks |
">>" abil suunatakse "echo"-ga kuvatav hoopis etteantud faili (lõppu), ekraanil ei kuvatagi.
proovisid ikka? |
loomulikult proovisin
tegelikult jah sinu meetod toimib. Kuid kuna mul jälle pikki rida vaja conf faili lisada, siis seal vahel ka tühik. Sellepärast minu testis ainult kuvas seda rida. Aitas ülakomade vahele panek. Uurin seda sed-i värki ka.
|
|
|
|
_________________ Tellige endale sünnipäevaks, sõbrapäevaks või muuks tähtpäevaks kingitus: Kingitused internetist - NetiKink.eu
|
|
|
|
johnsmith
Vana Pingviin
Vanus: 50
Liitunud: 24.07.2006
Postitused: 714
Asukoht: Universum
Distributsioon: Ubuntu/Gentoo/FreeBSD
|
|
Vabandust Indrek56, ma ei tulnud lihtsalt selle peale, et Spotti confi failis hakkab olema ainult junn=true
|
|
|
|
_________________ "Thinking is the hardest work there is, which is probably the reason why so few engage in it" - Henry Ford
|
|
|
|
spott
Admin
Vanus: 43
Liitunud: 04.06.2005
Postitused: 8857
Distributsioon: Ubuntu
|
|
ega ma aladust ei tee - tuli mõte teha väike bash skript Ubun tule. mis paigaldaks kõik vajaminevad paketid id kaardile ja muudaks vajaminevalt conf faili.
|
|
|
|
_________________ Tellige endale sünnipäevaks, sõbrapäevaks või muuks tähtpäevaks kingitus: Kingitused internetist - NetiKink.eu
|
|
|
|
johnsmith
Vana Pingviin
Vanus: 50
Liitunud: 24.07.2006
Postitused: 714
Asukoht: Universum
Distributsioon: Ubuntu/Gentoo/FreeBSD
|
|
sed s/junn=false/junn=true/ kaka.conf
Muudab junn=false junn=true ükskõik kuskohas ta ka seal failis poleks
EDIT: Proovisin seda ja tuleb välja, et sed ei muuda faili vaid echo -b selle muutuse standard output -i.
Saab küll muuta faili aga läbi järgmise triki, mul praegu targemat pähe ei tulnud
Kood: |
sed s/junn=false/junn=true/ proov.txt > ajutine.txt ; cp ajutine.txt proov.txt |
Proovisin ka lisada sõna järgmine junn=true järgi
Kood: |
sed /junn=true/a\ järgmine proov.txt > ajutine.txt ; cp ajutine.txt proov.txt |
kõike saab teha aga millegipärast ei saa otse faili muuta.
Või saab ?
|
|
|
|
_________________ "Thinking is the hardest work there is, which is probably the reason why so few engage in it" - Henry Ford
|
|
|
|
margo704
Pingviini aktivist
Liitunud: 30.08.2005
Postitused: 242
Distributsioon: Linux Mint 20.1
|
|
Otse faili muuta saab, kui lisada -i
Sedasi siis:
Kood: | sed -i 's/junn=false/junn=true/' kaka.conf |
See asendab ainult esimese "junn=false"-i. Kui tahad, et kõik failis leiduvad "junn=false"-id asendataks, siis:
Kood: | sed -i 's/junn=false/junn=true/g' kaka.conf |
|
|
|
|
|
|
|
|
johnsmith
Vana Pingviin
Vanus: 50
Liitunud: 24.07.2006
Postitused: 714
Asukoht: Universum
Distributsioon: Ubuntu/Gentoo/FreeBSD
|
|
Sed on selline vaese mehe perl
Peab hakkama seda kasutama, saab käigu pealt shellist confi faile muuta ei pea vi -d lahti tegemagi. Ma arvan, et võib julgelt ka teatud distrost sõltumatult kasutusel olevates skriptides kasutada sed on igal pool vaikimisi olemas.
|
|
|
|
_________________ "Thinking is the hardest work there is, which is probably the reason why so few engage in it" - Henry Ford
|
|
|
|
indrek56
Pingviini aktivist
Vanus: 51
Liitunud: 30.08.2006
Postitused: 282
Asukoht: Tartu
Distributsioon: opensuse
|
|
suur tänu johnsmith igatahes, väga kasulik teada...
|
|
|
|
|
|
|
|
commodore
Vana Pingviin
Vanus: 37
Liitunud: 02.10.2005
Postitused: 745
|
|
Viimati muutis commodore 16.08.2015, 13:45; muudetud 1 kord
|
|
|
|
johnsmith
Vana Pingviin
Vanus: 50
Liitunud: 24.07.2006
Postitused: 714
Asukoht: Universum
Distributsioon: Ubuntu/Gentoo/FreeBSD
|
|
commodore kirjutas: | Tühikute kohta, et mõndades keeltes peab neid escape'ima. Ma ei ole ise bashis midagi teinud, nii et ei tea kuidas seal lood on, aga äkki aitab, kui ennem tühikut kirjutada '\' näiteks 'palju\ lapsi'. |
Ühekordsete jutumärkide sees ei pea tühikut escapima.
Näiteks kui teha pika nimega directory millel on tühikud vahel:
mkdir pika nimega kaust - teeb kolm kausta 1. pika 2. nimega 3. kaust.
On kaks võimalust teha sellist directory:
1. mkdir pika\ nimega\ kaust
2. mkdir 'pika nimega kaust'
|
|
|
|
_________________ "Thinking is the hardest work there is, which is probably the reason why so few engage in it" - Henry Ford
|
|
|
|
laurivosandi
Moderaator
Vanus: 36
Liitunud: 08.07.2005
Postitused: 647
Asukoht: Tallinn
Distributsioon: Estobuntu, Debian
|
|
|
|
spott
Admin
Vanus: 43
Liitunud: 04.06.2005
Postitused: 8857
Distributsioon: Ubuntu
|
|
sid-iga saan arvatavasti oma asja aetud. Nüüd olen jõudnud järjega zenity katsetamiseni, et ka graafilised dialoogid luua.
Ühtlasi - kas keegi oskab öelda, kas erinevate sertifikaatide paigaldamine Firefoxis ja Mozillas on ka võimalikud otse käsurealt?
Lisaks - saab keegi näite tuua, kuidas kasutada zenity --question funktsiooni, et kui valiti cancel, siis läheks exit ja kui Ok, siis läheks edasi järgmise bashi käsu juurde.
|
|
|
|
_________________ Tellige endale sünnipäevaks, sõbrapäevaks või muuks tähtpäevaks kingitus: Kingitused internetist - NetiKink.eu
|
|
|
|
laurivosandi
Moderaator
Vanus: 36
Liitunud: 08.07.2005
Postitused: 647
Asukoht: Tallinn
Distributsioon: Estobuntu, Debian
|
|
nagu manpage seletab: s, and return (either in the return code, or on standard output) the users input.
return code liigub muutujasse $? peale progammi käivitamist. Ehk siis katsetamisel:
Kood: | zenity --question
echo $? |
|
|
|
|
|
|
|
|
spott
Admin
Vanus: 43
Liitunud: 04.06.2005
Postitused: 8857
Distributsioon: Ubuntu
|
|
ei saa aru. Minu leiutis hetkel:
zenity --question
zenity --info\
--text="Minu tekst on siin"
gksudo apt-get update
ja vahet pole, kas valin Loobu või OK esimesel küsimusel. Ikka läheb edasi...
|
|
|
|
_________________ Tellige endale sünnipäevaks, sõbrapäevaks või muuks tähtpäevaks kingitus: Kingitused internetist - NetiKink.eu
|
|
|
|
laurivosandi
Moderaator
Vanus: 36
Liitunud: 08.07.2005
Postitused: 647
Asukoht: Tallinn
Distributsioon: Estobuntu, Debian
|
|
oeh spott, programmeerida sa ei oska ikka. Selline shelli skript tuli:
Kood: |
#!/bin/sh
zenity --question --text="Kas uuendan süsteemi?"
if [ "$?" -eq "0" ]; then
zenity --info --text="Käivitan süsteemi uuendamise."
gksudo apt-get update
else
zenity --info --text="Sa katkestasid süsteemi uuendamise".
fi
|
|
|
|
|
|
|
|
|
|