如何在fish脚本中获取上一个命令的状态

时间:2016-01-11 12:19:50

标签: fish

说我想在鱼脚本中的多个命令中执行某些操作:

do_some_important_things

if /* previous command succeeds*/
   echo Good
else
   echo Failed
end

我不确定如何编写/* previous command succeeds*/部分。我试过了$status,但它给了我一个警告:

  

fish:变量不能用作命令。相反,定义一个像函数状态这样的函数; 0 $ argv;端'或者使用eval builtin,例如' eval $ status'。通过键入' help function',请参阅功能命令的帮助部分。   / Users / freewind / Downloads / bbb / m(第50行):if $ status

2 个答案:

答案 0 :(得分:2)

使用test命令和status变量:

if test $status -eq 0

答案 1 :(得分:0)

这是一个非常常见的用例,因此有一个命令可以轻松实现:and

假设您要调用foo,之后,当且仅当它成功(退出状态等于0)时,您想要调用bar。然后你可以简单地写

foo; and bar