PDA

View Full Version : Aiuto per Bash


tookie
28-04-2009, 13:26
Ciao a tutti
Ho un problema con questo script in Bash:muro:

QUERY_STRING=name=a&password=b"
#NOME IN QUERY_STRING
NAME=$(printf "$QUERY_STRING" | tr "&" "\n" | cut -d "=" -f2 )
#PASSWORD IN QUERY_STRING
PASSWORD=$(printf "$QUERY_STRING"|cut -d "=" -f3 --output-delimiter=" ")

echo $NAME
echo $PASSWORD

riesco ad isolare e a stampare correttamente $PASSWORD ma non $NAME e l'output č il seguente:

a b
b

mentre dovrei arrivare ad avere:

a
b

Se qualcuno mi aiuta gli sarņ molto grato;-)

Torav
28-04-2009, 13:37
il problema č che con tr "&" "\n" trasformi la stringa in 2 righe e quindi cut agisce su entrambe. Dato che sono un supernovizio di bash ti do un consiglio orribile ma funzionante :D se ne trovi un altro penso sia molto meglio perņ :p


QUERY_STRING=name=a&password=b"
#NOME IN QUERY_STRING
NAME=$(printf "$QUERY_STRING" | tr "&" "\n" | head -n1 | cut -d "=" -f2 )
#PASSWORD IN QUERY_STRING
PASSWORD=$(printf "$QUERY_STRING"|cut -d "=" -f3 --output-delimiter=" ")

echo $NAME
echo $PASSWORD

tookie
28-04-2009, 13:46
grazie mille;-)mi va benissimo, era da un bel po che tentavo di trovare una qualsiasi soluzione:-):yeah: