[linux] bash & skripty

Radoslav BENDIK bendik na sophia.dtp.fmph.uniba.sk
Úterý Červenec 6 14:39:08 CEST 1999


On Tue, 6 Jul 1999, Ico wrote:

> Skusal som minule urobit nejaky skriptik, ktory by mi testoval pocet a
> spravnost parametrov... Ale nejako sa mi nepodarilo zistit, ako sa pise
> podmienka na test poctu parametrov alebo portu hocicoho. 

Pocet parametrov skriptu je v $#. Na parsovanie parametrov je
lepsie ako 'if' pouzit 'case' a 'shift'. A uplne najlepsie je pouzit
'getopts'. Vsetko najdes v man stranke bash(1).


> Ked chcem, aby mi vypisal pocet parametrov, je to OK, ale ked to dam do
> podmienky if [...]; then... , tak mi to robi blbosti. 

[ je hardlink na test. Pozri si test(1). Priklad:

                     if [ $# -eq 3 ]; then echo tri; fi


> Takisto by ma zaujimalo, ako sa robi for i in 1 2 3 4... bez toho, aby
> som musel vymenovat vsetky prvky.  Ked to chcem napr. od 1 do 1000, tak
> je to dost nepohodlne...;-) 

A co takto (aj ked to je len do 100 a tiez nie velmi pohodlne):

   for i in {0,1,2,3,4,5,6,7,8,9}{0,1,2,3,4,5,6,7,8,9} ; do echo $i; done

Lepsie asi bude:

          i=1; while [ $i -le 1000 ]; do echo $i; let i=$i+1; done

--bye,
	rado b
 /----------- /""\ ---------------------------------------------------\
|   /""\     /  _/       e-mail     Radoslav.Bendik na st.fmph.uniba.sk   |
|  ( (_/    /    \       web    http://www.st.fmph.uniba.sk/~4bendik   |
|   \ ado  (   __/endik, absolvent TMF, MFF UK Bratislava, Slovensko   |
 \-- ) ---------------------------------------------------------------/
    /




Další informace o konferenci linux