我想写一个函数来检查前一个命令。成功与否。
我的代码:
#!/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"