Как ты делаешь это? Я думаю, вот так ... также, мне нужно использовать fi и готово? или только один из них

if[mv 1.txt > 2.txt == '0'] 
then
 echo "Success"
else
 echo "Failure"
fi
done
3
romeo 24 Апр 2014 в 01:30

2 ответа

Лучший ответ

В BASH достаточно только этого:

mv 1.txt 2.txt && echo "Success" || echo "Failure"

Однако, если вы хотите использовать традиционный if/fi, используйте

if mv 1.txt 2.txt
then
  echo "Success"
else
  echo "Failure"
fi
3
anubhava 23 Апр 2014 в 21:32
if mv 1.txt 2.txt
then
  echo Success
else
  echo Failure
fi

if принимает команду в качестве аргумента и выполняет предложение then, если команда выполнена успешно, или предложение else, если произошла ошибка. Интересно, что когда-то давно [ была командой, которая оценивала условия, которые вы ей передали, и, вероятно, она все еще доступна в вашей системе - проверьте /usr/bin/[.

Если у вас нет инструкции do, вам не нужна инструкция done. fi требуется в качестве последнего утверждения команды if.

1
Ray 23 Апр 2014 в 21:40