Passando parâmetros por script de shell para esperar script

0

Eu preciso passar um parâmetro de um script de shell sob a linha de comando do script ssh

por exemplo:

#!/usr/bin/expect
spawn ssh [email protected] "cm1+passingparameters.sh;cmd2"

meu script existente 123.sh , que está funcionando bem.

#!/usr/bin/expect

spawn ssh [email protected] "/pstools/85419/jre/bin/java -Xms1024M -Xmx1024M -Dhttps.protocols=TLSv1.2 -Djdk.tls.client.protocols=TLSv1.2 -jar /app1/non/psoft/85419/gu1/gust/classes/SVC_TestS.jar https://decorp6-- tst4.custhelp.com/services/rest/connect/v1.3/incidents userid password ssow.proxy.com port;cd /app01/nonhr/psoft/85419/gucq1/gecust;mail -s 'OTO' [email protected] < logs.txt"

expect "password"

send "mypassword\r"

interact

expect eof

Eu quero dois scripts a.sh e b.sh

a.sh deve ser o seguinte (observe a alteração do script original acima mencionado PASS b.sh after .jar )

#!/usr/bin/expect

spawn ssh [email protected] "/pstools/85419/jre/bin/java -Xms1024M -Xmx1024M -Dhttps.protocols=TLSv1.2 -Djdk.tls.client.protocols=TLSv1.2 -jar /app1/non/psoft/85419/gu1/gust/classes/SVC_TestS.jar PASS b.sh;cd /app01/nonhr/psoft/85419/gucq1/gecust;mail -s 'OTO' [email protected] < logs.txt"
expect "password"

send "mypassword\r"

interact

expect eof

b.sh deve ser o seguinte

#!/user/ksh
 https://decorp6--tst4.custhelp.com/services/rest/connect/v1.3/incidents userid password ssow.proxy.com port
    
por roger 30.11.2017 / 21:09

1 resposta

0

Eu acho que você está perguntando como inserir vários argumentos no comando java , que pode ser tão simples quanto

#!/usr/bin/expect

if {[llength $argv] == 0} {
  puts stderr "Usage: todo fixeme"
  exit 1
}

set the_args [join $argv]

spawn ssh [email protected] "/pstools/85419/jre/bin/java ... -jar /app1/non/psoft/85419/gu1/gust/classes/SVC_TestS.jar $the_args; ..."
...

E, em seguida, você executaria o código acima por meio de algo como:

$ whatyousaveditas https://decorp6--tst4.cu... user pass ...
    
por 30.11.2017 / 22:01