我正在Linux Shell脚本中寻找某些命令,该命令将在将命令写入另一个文件之前检测该命令的执行状态。我所拥有的代码由一组命令组成,然后用“>”符号登录到另一个命令中。但是我想在“>”符号之前读取命令执行状态。谁知道怎么做?
答案 0 :(得分:0)
您可以做几件事。首先,您可以使用-v
选项运行bash。这将在执行之前记录命令。另外,您可以在bash中使用ERR
陷阱来确定命令的退出状态。
示例:
-> ./err_return_traping.sh
Command returns 100
./err_return_traping.sh:13 exited with 100
-> cat err_return_traping.sh
#!/bin/bash
log_failure() {
declare rs=$?
echo "$0:$1 exited with $rs"
}
trap 'log_failure $LINENO' ERR
fail_command() {
echo "Command returns 100"
return 100
}
fail_command