2017-02-20 10 views
0

Что мы имеем:Как перейти к запуску цикла в то время как в выражении if с помощью bash?

m=1 
while [[ $m -le 5 ]] 
do 
curl --connect-timeout 5 --max-time 5 -X POST https://example.com/create >> test.txt 
if [ -s test.txt ] 
then 
    echo "Empty file" 
    ##"GO TO BEGIN OF LOOP"## 
else 
    echo "All fine" 
fi 

... 

done 

Мы хотели бы, чтобы проверить, если test.txt пуст. Если нужно, мы должны перейти к началу нашего цикла.

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

+3

использование 'continue' ... – franklinsijo

+1

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

+0

Thx много,' continue' отлично работает. –

ответ

0
m=1 
while [[ $m -le 5 ]] 
do 
curl --connect-timeout 5 --max-time 5 -X POST https://example.com/create >> test.txt 
if [ -s test.txt ] 
then 
    echo "Empty file." 
    continue 
else 
    echo "All fine." 
fi 

... 

done 
+0

Хотя этот фрагмент кода приветствуется и может оказать некоторую помощь, было бы [значительно улучшено, если бы оно включало объяснение] (// meta.stackexchange.com/q/114762) из ​​* how * и * why *, это решает проблема. Помните, что вы отвечаете на вопрос читателей в будущем, а не только на человека, который спрашивает сейчас! Пожалуйста, отредактируйте свой ответ, чтобы добавить объяснение, и укажите, какие ограничения и допущения применяются. –

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