Hallo,
habe ein kleines Bash-Shellskriptproblem und vielleicht hat ja jemand
eine Lösung parat:
Hier das Problem an einem kleinen Beispiel:
1 | #!/bin/bash
|
2 | for z in $(cat remote.txt)
|
3 | do
|
4 | CLIENTIP=$(echo $z | cut -d"," -f1)
|
5 | CLIENTUSER=$(echo $z | cut -d"," -f2)
|
6 | CLIENTPASS=$(echo $z | cut -d"," -f3)
|
7 |
|
8 | ./netcat -i 1 -t $CLIENTIP $UPDTELNET >log.dat <<END
|
9 | $CLIENTUSER
|
10 | $CLIENTPASS
|
11 | END
|
12 | done
|
funktioniert nicht, da dann ein "unexpected end of file" error kommt.
Ursache ist das <<END END Konstrukt.
packe ich den Kram zwischen den ENDs in eine extra Datei "comand.txt"
und rufe mein netcat so aus:
1 | #!/bin/bash
|
2 | for z in $(cat remote.txt)
|
3 | do
|
4 | CLIENTIP=$(echo $z | cut -d"," -f1)
|
5 | CLIENTUSER=$(echo $z | cut -d"," -f2)
|
6 | CLIENTPASS=$(echo $z | cut -d"," -f3)
|
7 |
|
8 | ./netcat -i 1 -t $CLIENTIP $UPDTELNET >log.dat < comand.txt
|
9 | done
|
dann ahbe ich keinen end of File error mehr, aber die Variablen in der
Textdatei werden nicht verarbeitet und es wird dann nur $CLIENTPASS als
Text übertragen. Ich möchte ja aber den Inhalt erhalten.
Hat jemand eine Idee wie man das Problem lösen kann?
Vielen Dank