Sida 1 av 1
Olika variabler ur samma string (expect script)
Postat: 17 jan 2008, 15:57
av Knaskalle
Hej
Det jag undrar över är hur jag tar ut flera variabler ur samma string i ett expect script.
exempel:
"./hax.sh asd123.qwerty1.123.se"
så vill jag ur denna ta ut "asd123" till $port och qwerty1.123.se till $adress
tack på förhand!
/ Kalle
SV: Olika variabler ur samma string (expect script)
Postat: 17 jan 2008, 16:24
av mcNisse
Det går inte. I alla fall inte på det viset du beskriver...
Du kan inte påverka ett yttre skals variabler. Det du behöver göra är att "sourca" in skriptet.
Här är enkelt skript som visar principen:
Kod: Markera allt
. ./skript ett tva
echo $olle $bull
ett tva
För att dela strängen kan du använda
port=`echo $1 |cut -d. -f1` och
adress=`echo $1|cut -d. -f2-`
Du kan äver göra ett skript som returnerar (skriver ut port adress) och tilldela dem till en array. Men jag hinner/kan inte beskriva det. Tyvär. Du måsta använde ett skal som kan hantera arrayer, tex bash.
SV: Olika variabler ur samma string (expect script)
Postat: 17 jan 2008, 18:50
av Konservburk
Knaskalle skrev:
"./hax.sh asd123.qwerty1.123.se"
så vill jag ur denna ta ut "asd123" till $port och qwerty1.123.se till $adress
SV: Olika variabler ur samma string (expect script)
Postat: 17 jan 2008, 19:59
av mcNisse
Konservburk skrev:
Knaskalle skrev:
"./hax.sh asd123.qwerty1.123.se"
så vill jag ur denna ta ut "asd123" till $port och qwerty1.123.se till $adress
Det är härligt att se

Jag gillar verkligen att se nya sätt att koda skalskript. Är dessa konstruktioner bash specificka eller finns de andra skal också?
Edit: Tog bort skräp som jag klistrade in i citatet av misstag...
SV: Olika variabler ur samma string (expect script)
Postat: 17 jan 2008, 20:54
av Konservburk
mcNisse skrev:
Är dessa konstruktioner bash specificka eller finns de andra skal också?
Jag vet att det fungerar i åtminstone bash, zsh, ksh, ash, dash, busybox.
Det ska fungera i alla posix(/bin/sh)-skal, se
The Single UNIX Specification
Däremot är det inte säkert att det fungerar på gamla UNIX-system från
80-talet som System V och liknande. Men där är det även mycket annat
som inte heller fungerar, så det är oftast ingen idé att försöka ta hänsyn
till sådant. T.ex. finns det riktigt gamla /bin/sh-versioner som inte klarar
av kommentarer med #-tecknet.
SV: Olika variabler ur samma string (expect script)
Postat: 19 jan 2008, 12:21
av Knaskalle
SV: Olika variabler ur samma string (expect script)
Postat: 19 jan 2008, 15:27
av Zhaozhou
Konservburk skrev:
Knaskalle skrev:
"./hax.sh asd123.qwerty1.123.se"
så vill jag ur denna ta ut "asd123" till $port och qwerty1.123.se till $adress
Ibland undrar jag vart du lär dig allt.[me=Zhaozhou]har letat överallt, men inte varigt nära några howto's som beskriver sånt där.[/me]