2016-05-17 2 views
3

Я хотел сделать что-то вроде либо из этих утверждений, что это, вероятно, как Баш, но получил ошибку:Как свести на нет код ошибки программы для оператора if в оболочке рыбы?

if ! prog ... 
    .... 

Ошибка:fish: Unknown command '! prog ...'

if test ! prog ... 
    .... 

Ошибка:test: Expected a combining operator like '-a' at index 2

ответ

7

Вы ищете not ключевое слово:

if not false 
    echo Foo 
end 
+0

Я просто побежал в это снова сегодня, и не понимали этого заменило 'test' команды в первом .. Не совсем то, что я хотел бы, но просто отметив это здесь. – Pysis

0

Закончено только с использованием $status.

if test "$status" != "0" 
    ... 

Я не хотел бы отделить заявление, где я могу проверить свой код ошибки в случае дальнейшего обслуживания случайного кода вставляет другие операторы между ними, как и почти безобидными, как echo, но я не мог найти другой способ чтобы использовать вызов программы на тестовой строке, чтобы получить состояние с отрицанием, которое я хотел.

Я думаю, что я мог бы перенести часть этого «статуса» и отрицания логики в функцию, но это просто похоже на работу, и я надеюсь, что у меня отсутствует более сжатый синтаксис как условный оператор.

Смежные вопросы