Forum » Programiranje » [BASH]Kako skripti podati argumente zapisane v datoteki?
[BASH]Kako skripti podati argumente zapisane v datoteki?
Karlos ::
Torej imam skripto MojaSkripta.sh
ki jo lahko poženem takole
Kako bi prišel do istega učinka če bi priArg drugiArg zapisal v tmp.txt
Probal sem takole pa ne dela.
ki jo lahko poženem takole
./MojaSkripta.sh priArg drugiArg
Kako bi prišel do istega učinka če bi priArg drugiArg zapisal v tmp.txt
Probal sem takole pa ne dela.
cat tmp.txt | ./MojaSkripta.sh
Sai Baba: "Dam vam to, kar hočete, da boste hoteli to, kar vam želim dati."
Karlos ::
./MojaSkripta.sh `cat tmp.txt`
Tole dela, hvala.
Kaj pa je to ` za en znak, sem mislil da je enojni narekovaj?
Apostrof?
Sai Baba: "Dam vam to, kar hočete, da boste hoteli to, kar vam želim dati."
CCfly ::
Aja prehitro sem napisal.
Tile narekovaji izvedejo cat tmp.txt, tako da ven dobiš efektivno ./MojaSkripta vsebina datoteke.
Tile narekovaji izvedejo cat tmp.txt, tako da ven dobiš efektivno ./MojaSkripta vsebina datoteke.
"My goodness, we forgot generics!" -- Danny Kalev
jamsek19 ::
Hi.
Kot je že CCFly povedal: enojni narekovaji v bash shellu, korn shellu in podobnimi shelli izvedejo kar je med njimi. Tako v tvojem primeru se najprej izvede ta ukaz "cat" in kot rezultat dobiš argumente za tvojo scripto. To je velika prednost napram recimo Windows cmd lupini, kjer je praktično nemogoče direktno nastavit (setirat) neko environment spremenljivko glede na rezulat neke komande.
Dvojni narekovaji služijo kot označevanje stringov (npr. kot v kakšnem programskem jeziku).
Kot je že CCFly povedal: enojni narekovaji v bash shellu, korn shellu in podobnimi shelli izvedejo kar je med njimi. Tako v tvojem primeru se najprej izvede ta ukaz "cat" in kot rezultat dobiš argumente za tvojo scripto. To je velika prednost napram recimo Windows cmd lupini, kjer je praktično nemogoče direktno nastavit (setirat) neko environment spremenljivko glede na rezulat neke komande.
Dvojni narekovaji služijo kot označevanje stringov (npr. kot v kakšnem programskem jeziku).
Just me.
kekz ::
No, enojne narekovaje imaš leve in desne.
`` tile res izvedejo ukaz
' ' tile so za stringe podobno kot " "
Razlika pri stringih med ' ' in " " je predvsem v substituciji nizov.
Npr.:
'$var' ostane '$var'
"$var" pa se zamenja z vrednostjo spremenljivke var
`` tile res izvedejo ukaz
' ' tile so za stringe podobno kot " "
Razlika pri stringih med ' ' in " " je predvsem v substituciji nizov.
Npr.:
'$var' ostane '$var'
"$var" pa se zamenja z vrednostjo spremenljivke var
BlaY0 ::
Tole dela, hvala.
Kaj pa je to ` za en znak, sem mislil da je enojni narekovaj?
Apostrof?
To je backquote. V bash-u ga lahko nadomestiš z:
$( )
...tole se lepše vidi v skriptia. Ta način ne deluje v navadnem Bourne shell-u.
Vredno ogleda ...
Tema | Ogledi | Zadnje sporočilo | |
---|---|---|---|
Tema | Ogledi | Zadnje sporočilo | |
» | [javascript] zazeni, pocakaj, osveziOddelek: Programiranje | 987 (820) | detroit |
» | Noob se loti programiranje v BASHOddelek: Programiranje | 2263 (1663) | c3p0 |
» | button v image buttonOddelek: Izdelava spletišč | 1231 (1136) | R33D3M33R |
» | Raziskava o ranljivosti spletnih strani z SQL bazami podatkovOddelek: Novice / Varnost | 4924 (4260) | sverde21 |
» | [UNIX] arg list too longOddelek: Programiranje | 1939 (1194) | bijonda |