» »

[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
./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."

kekz ::

Poizkusi:

./MojaSkripta.sh `cat tmp.txt`

CCfly ::

./MojaSkripta.sh < input.txt
"My goodness, we forgot generics!" -- Danny Kalev

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.
"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).
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

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 ...

TemaSporočilaOglediZadnje sporočilo
TemaSporočilaOglediZadnje sporočilo
»

[javascript] zazeni, pocakaj, osvezi

Oddelek: Programiranje
6987 (820) detroit
»

Noob se loti programiranje v BASH

Oddelek: Programiranje
212263 (1663) c3p0
»

button v image button

Oddelek: Izdelava spletišč
91231 (1136) R33D3M33R
»

Raziskava o ranljivosti spletnih strani z SQL bazami podatkov

Oddelek: Novice / Varnost
204924 (4260) sverde21
»

[UNIX] arg list too long

Oddelek: Programiranje
331939 (1194) bijonda

Več podobnih tem