我正在尝试执行一个执行EXPECT脚本的脚本和一个包含退出代码的衍生进程.但我无法将生成的进程的退出代码获取到主脚本.我总是因为成功而获得零.
期望脚本是:
[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"
Run Code Online (Sandbox Code Playgroud)
产生的脚本:
[Linux Dev:anr ]$ cat tmp_script
exit 3
Run Code Online (Sandbox Code Playgroud)
执行Expect脚本:
[Linux Dev:anr ]$ ./testexit.sh
exit 3
spawn /home/anr/tmp_script_temp.sh
spawned process status 0
done
Run Code Online (Sandbox Code Playgroud)
问题是我无法获得生成的退出返回代码以期望脚本.我希望生成的脚本的退出代码3到主脚本,主脚本应该退出,退出代码为3.
请帮我将生成的退出代码导入主脚本.