Использование pushd и popd [duplicate]

while q = 3

не имеет смысла. Возможно, вы намеревались проверить, равно ли q 3. Тогда вы должны были сделать

while [ "$q" -eq 3 ] # or better while (( q == 3 )). See [1]

Также обратите внимание, что

 while q=3 #No spaces around = during assignment.
 do
 #stuff
 done

также было бы синтаксически правильным, но логически неверным.

Также обратите внимание, что

 q=‘expr $q + 1‘ # that should have been backticks ` instead of single quote '

ie

q=`expr $q + 1`

является правильным использованием

Возможно, многие оболочки теперь поддерживают такие конструкции, как

(( q++ )) # same effect as  q=`expr $q + 1`
{{ 1}}

[1] (()) позаботится of unset q , заменив его нулем

0
02.07.2014, 23:32
0 ответов

Теги

Похожие вопросы