
Мне нужно передать параметр из скрипта оболочки в командной строке скрипта ssh
например :
#!/usr/bin/expect
spawn ssh [email protected] "cm1+passingparameters.sh;cmd2"
мой существующий скрипт 123.sh
работает отлично.
#!/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
Мне нужно 2 сценария a.sh
иb.sh
a.sh
должно быть следующим образом (обратите внимание на изменение по сравнению с вышеупомянутым оригинальным сценарием 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
должно быть следующим
#!/user/ksh
https://decorp6--tst4.custhelp.com/services/rest/connect/v1.3/incidents userid password ssow.proxy.com port
решение1
ядуматьВы спрашиваете, как вставить различные аргументы в удаленную java
команду, которая может быть такой простой, как
#!/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; ..."
...
И затем вы бы запустили вышеописанное через что-то вроде:
$ whatyousaveditas https://decorp6--tst4.cu... user pass ...