函数,检查前一个命令

函数,检查前一个命令

我想写一个函数来检查前一个命令。成功与否。

我的代码:

#!/bin/bash

function check_previous {
        RESULT=$?
        if [ $RESULT -eq 0 ]; then
        echo "success"
        else
        echo "failed"
        fi
}

echo "wwe"
check_previous

ls - l
check_previous

是的,它有效。没问题。但是,我有很多命令,我应该逐一检查。而且我只有两条消息“成功”和“失败”。但如果我想添加几条消息“目录已成功删除”或“文件已更改”。如何在一个函数中为不同的命令执行此操作?对于创建文件“文件已创建”,对于“删除”,“文件已删除”。有什么想法吗?

答案1

您需要向您的函数传递一个字符串参数来描述前一个命令状态,并在中使用该参数echo

#!/bin/bash

function check_previous {
        RESULT=$?
        if [ $RESULT -eq 0 ]; then
        echo "$1: success"
        else
        echo "$1: failed"
        fi
}

echo "wwe"
check_previous "echo"

ls - l
check_previous "ls"

相关内容