mamy skrypt unix, który używa narzędzia oczekiwać na interaktywne wykonanie. Ten skrypt działa dobrze, gdy uruchamiamy z serwera uniksowego.oczekiwać, że narzędzie nie działa podczas wykonywania z jenkins
Jeśli uruchomimy ten skrypt od Jenkins, to nie działa.
Poniżej jest skrypt
var="xxxxx"
expect -c "
spawn sudo cp /abcd/sjws/config/obj.conf /abcd/sjws/config/obj.conf_jenkins
expect {
"Password:" { send $var\r;interact }
}
exit
"
Poniżej jest wyjście, gdy prowadzimy od Jenkins
spawn sudo cp /abcd/sjws/config/obj.conf /abcd/sjws/config/obj.conf_jenkins
Password:
Password:
Build step 'Execute shell' marked build as failure
Finished: FAILURE
Zastanawiam się, czy problem polega na tym, że powłoka rozwija zmienną $ var w skrypcie expect: spróbuj zmienić 'send $ var \ r' na' send \ "$ var \ r \" ' –