|
|||||||
|
|
|
![]() |
|
|
Strumenti |
|
|
#1 |
|
Senior Member
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
|
[Bash] strano comportamento echo su telnet
Tanto per iniziare il codice:
Codice:
(
sleep 2
echo "$USER"
echo "$PASSWORD"
sleep 1
echo "echo SNR=\`nvram get adsl_snr | sed 's/name=\([0-9]*\)/\1/g'\`"
sleep 2
echo "exit"
) | telnet -E $ROUTERIP
Codice:
Connected to xxx.yyy.zzz.kkk. Escape character is 'off'. Login: xyz xyz Password: BusyBox v1.01 (2008.12.08-15:16+0000) Built-in shell (ash) Enter 'help' for a list of built-in commands. # /g'`echo SNR=`nvram get adsl_snr | sed 's/name=\([0-9]*\)/ /bin/sh: /g`echo SNR=`nvram get adsl_snr | sed s/name=([0-9]*)/: not found # Connection closed by foreign host. Ultima modifica di cionci : 03-06-2009 alle 10:01. |
|
|
|
|
|
#2 |
|
Senior Member
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
|
Il problema sembra essere qui:
echo "echo SNR=\`nvram get adsl_snr | sed 's/name=\([0-9]*\)/\1/g'\`" Ma anche raddoppiando il backslash non ottengo niente |
|
|
|
|
|
#3 |
|
Senior Member
Iscritto dal: Nov 2007
Città: Bergamo
Messaggi: 307
|
Potresti farmi un esempio di quello che restituisce il comando
Codice:
nvram get adsl_snr Cosi magari si riesce a scrivere la sed in modo diverso senza usare il \1 che è quello che fa casino. |
|
|
|
|
|
#4 |
|
Senior Member
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
|
Il comando restituisce
name=XXX dove XXX è un numero intero da 1 a 3 cifre. A me serve il numero XXX. Ma perché secondo te si pianta lì ? A me sembrava come un carattere di escape, ma ho disabilitato i caratteri di escape da telnet. Ultima modifica di cionci : 03-06-2009 alle 11:36. |
|
|
|
|
|
#5 |
|
Senior Member
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
|
Sono ancora agli inizi con sed, bastava fare così
echo "name=199" | sed 's/name=//' |
|
|
|
|
|
#6 |
|
Senior Member
Iscritto dal: Nov 2007
Città: Bergamo
Messaggi: 307
|
|
|
|
|
|
| Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 13:21.



















