Ahogy a címben írtam, több kis shell scriptet írtam, ezek screen alatt futnak. Az egyikben egy kis case struktúra argumentuma, és hibátlanul működik, a másikban csak echo -va van és mintha üres lenne. Ez nem rendszer globális? Ha az adott screen session -ben kilépek és kiadok egy ilyen parancsot "/bin/echo $HOSTNAME" szépen kiírja, a scriptből meg üres ... Nem értem?
Már nem tusom hányszor néztem át a scriptet - nem látok hibát (mit lehet ezen elszúrni, azonkívül hogy elírom, és egy nemlétező üres változót használ az echo).
- 2102 megtekintés
Hozzászólások
Nem hittem volna :( Napok óta piszkál ez a dolog! Ez egy bashizm!
Ha a fejlécbe azt írom !/bin/sh akkor a $HOSTNAME üres, ha azt írom !/bin/bash akkor szépen kivan töltve :(
Ennyi volt.
* Én egy indián vagyok. Minden indián hazudik.
- A hozzászóláshoz be kell jelentkezni
Esetleg ilyesmi miatt?
ironcat@ipn:/bin$ ls -l sh
lrwxrwxrwx 1 root root 4 2011-05-03 17:04 sh -> dash*
-----
A kockás zakók és a mellészabások tekintetében kérdezze meg úri szabóját.
- A hozzászóláshoz be kell jelentkezni
Pontosan! Nem gondoltam volna hogy egy ilyen alapadatot csak a bash kezel :(
* Én egy indián vagyok. Minden indián hazudik.
- A hozzászóláshoz be kell jelentkezni
pedig nem nagy ügy, a bash az egy elég összetett shell, van benne sok internal dolog, az sh meg egyszerű mint a faék.
man bash és ott szépen látszik, hogy saját változó, igazából furcsa is hogy van. Ha meg más shell, akkor marad a ``
- A hozzászóláshoz be kell jelentkezni
Ez is igaz.
#! /bin/sh
HOSTNAME=`/bin/hostname'
De akkor is ez olyan kézenfekvőnek tűnt. Ott a másik példa, ma már szinte kizárólag a "/bin/echo" -t használom - elegem van ezekből a 98% -ban olyan de mégsem (jártam már így az awk/gawk párossal is) és amíg rájön az ember, egy szép hosszú make file esetében ...
* Én egy indián vagyok. Minden indián hazudik.
- A hozzászóláshoz be kell jelentkezni