Linux命令在写入文件之前检测命令

标签 linux shell scripting

我正在寻找 Linux Shell 脚本中的一些命令,它会在将命令写入其他文件之前检测命令的执行状态。我的代码由一组命令组成,然后用“>”符号登录到另一个命令。但是我想在“>”符号之前读取命令执行状态。有谁知道怎么做吗?

最佳答案

您可以做几件事。首先,您可以使用 -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

关于Linux命令在写入文件之前检测命令,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52834474/

相关文章:

linux - 如何测试用crontab部署的脚本

scripting - 将 WinSCP INI 文件设置为只读以避免并行脚本运行期间出现问题是否安全?

linux - 使用 Ansible 自动设置加密分区

linux - 在 Shell Script Linux 中重命名文件

java - ADB shell 获取 Toast 消息

linux - 返回字符串比较结果 - bash

javascript - 为动态 OO 程序实现现有的脚本语言

linux - Linux中mmap的时间复杂度是多少?

linux - shell/内核如何处理发送给同一进程组内进程的信号?

linux - Shell 脚本打印特定索引的行值