Я пытаюсь выполнить script, который выполняет EXPECT script и порожденный процесс, в котором есть код выхода. Но я не могу получить код выхода порожденного процесса на главный script. Я всегда получаю нулевой успех.
Ожидание script:
[Linux Dev:anr ]$ cat testexit.sh
#!/bin/bash
export tmp_script_file="/home/anr/tmp_script_temp.sh"
cp /home/anr/tmp_script $tmp_script_file
chmod a+x $tmp_script_file
cat $tmp_script_file
expect << 'EOF'
set timeout -1
spawn $env(tmp_script_file)
expect {
"INVALID " { exit 4 }
timeout { exit 4 }
}
EOF
echo "spawned process status" $?
rm -f $tmp_script_file
echo "done"
Порожденный script:
[Linux Dev:anr ]$ cat tmp_script
exit 3
Выполнение Expect script:
[Linux Dev:anr ]$ ./testexit.sh
exit 3
spawn /home/anr/tmp_script_temp.sh
spawned process status 0
done
Проблема в том, что я не могу получить возвращаемый код возврата, чтобы ожидать script. Я хочу, чтобы код выхода 3 порожденного script на главный script и основной script должен был выйти с кодом выхода 3.
Пожалуйста, помогите мне получить порожденный код выхода на главный script.