뭔가를 처리 할 수있는 bash 스크립트 파일이 있습니다.Bash 스크립트 : 한 줄로 여러 명령 실행하기 && 리턴 코드 받기
control.sh :
c_command="echo 'Hello'; echo ', Stack Overflow';exit 9";
$c_command;
stat=$?;
if [ $stat -eq 0 ];then
echo 'Do something....'
elif [ $stat -eq 9 ];then
echo 'The system will be rebooting...';
else
echo "..."
fi
내가 명령을 실행 변수 $ c_command를 사용, 그리고 내가 완벽하게 작동되는 명령 줄에 붙여 경우 종료 코드가 0이 아닌 9 입니다 얻을하지만, 스크립트를 실행할 때 매우 나쁩니다.
일반적으로 스크립트에서 "exit"명령을 실행하면 스크립트가 종료됩니다. 그리고 나는 단지 스크립트가 아닌 명령을 수행하고 실행 된 명령에서 종료 코드를 얻고 싶습니다. 내가 스크립트 파일에 $의 c_command에 코드를 삽입하고 실행
:
나는이 문제를 해결했다.
c_command="echo 'Hello'; echo ', Stack Overflow';exit 9";
echo "${c_command}" > tmp.sh;
/bin/bash tmp.sh;
stat=$?;
if [ $stat -eq 0 ];then
echo 'Do something....'
elif [ $stat -eq 9 ];then
echo 'The system will be rebooting...';
else
echo "..."
fi
는, 당신은 찾을 0의 종료 상태은'$ c_command' 실행 벌금 명령과 거기 대신 문자열 코드를 저장
, 당신은 함수를 사용해야합니다 대신 전체 스크립트가 종료 되는가? 실제로 여기에 붙여 넣은 스크립트를 실행하고 있습니까? –
예, $ c_command는 return exit code가 9가 아닌 9가되어야합니다. 왜냐하면 여기에 "exit 9"코드를 넣어야하기 때문입니다. –