echo "$@" >> "${logdir}/ovs-ctl.log"
}
-stdintoexitstatus () {
- read exitstatus
- return $exitstatus
-}
-
ovs_ctl () {
case "$@" in
*"=strace"*)
# pipe). So, do not log the o/p to ovs-ctl.log.
"${datadir}/scripts/ovs-ctl" "$@"
;;
+ "status")
+ # In case of the command 'status', we should return the exit status
+ # of ovs-ctl. It is also useful to document the o/p in ovs-ctl.log.
+ display=`"${datadir}/scripts/ovs-ctl" "$@" 2>&1`
+ rc=$?
+ echo "${display}" | tee -a "${logdir}/ovs-ctl.log"
+ return ${rc}
+ ;;
*)
- # Tee ovs-ctl output to ovs-ctl.log and yield ovs-ctl's exit
- # status. See (line wrapped)
- # http://unix.stackexchange.com/questions/14270/\
- # get-exit-status-of-process-thats-piped-to-another/70675#70675
echo "`date -u`:$@" >> "${logdir}/ovs-ctl.log"
- ( ( ( ( ("${datadir}/scripts/ovs-ctl" "$@" 2>&1 ; echo $? >&3) \
- | tee -a "${logdir}/ovs-ctl.log") >&4) 3>&1) | stdintoexitstatus) \
- 4>&1
+ "${datadir}/scripts/ovs-ctl" "$@" 2>&1 | tee -a "${logdir}/ovs-ctl.log"
;;
esac
}