【发布时间】:2019-06-03 09:34:24
【问题描述】:
我一直在尝试将函数的名称存储到变量中,但只是名称。
doReturn() {
if [ $? -eq 0 ]; then
/bin/echo -e " \e[1;31mOk!\e[0m"
else
/bin/echo -e " \e[1;31mFAIL!\e[0m"
$? = fail
echo $fail
exit 1;
fi
}
我想让“doReturn”做一个 if 或类似的东西说:“程序在这里结束”。我不知道我是在扮演上帝还是什么
我尝试过使用 sed 和 $?,但没有任何效果
doReturn() {
if [ $? -eq 0 ]; then
/bin/echo -e " \e[1;31mOk!\e[0m"
else
/bin/echo -e " \e[1;31mFAIL!\e[0m"
$? = fail
echo $fail
exit 1;
fi
}
我没有尝试使用 sed。快把我逼疯了。
【问题讨论】:
-
你不能分配给
$? -
不,也许我做得不对。不管怎样,
$?只是捕获了错误,对吗? -
设置
$?的等价物是简单地运行具有已知退出值的命令。例如,运行false会在子 shell 中将$?设置为 1. In general, runexit`。(exit 57)会将$?设置为 57。