Просто немного вопроса о правильном способе делать Пост-инкремент в bash.Bash Post Increment
while true; do
VAR=$((CONT++))
echo "CONT: $CONT"
sleep 1
done
VAR начинается с 1 в этом случае.
CONT: 1
CONT: 2
CONT: 3
Но если я это сделать:
while true; do
echo "CONT: $((CONT++))"
sleep 1
done
Он начинается с 0.
CONT: 0
CONT: 1
CONT: 2
Кажется, что первый случай ведет себя нормально, потому что ((CONT ++)) будет оценивать CONT (undefined, ¿0?) И добавьте +1.
Как я могу получить поведение, например, в инструкции echo
для назначения переменной?
EDIT: В моем первом примере вместо повторения CONT, я должен был повторить VAR, так что это работает нормально, так что это была моя ошибка с самого начала.
Спасибо, я это понимаю, но я хотел бы сделать это в назначении переменной, а не в эхо. В эхом он работает нормально, но не тогда, когда я назначаю переменную (я не знаю, как правильно начать с 0). – JorgeeFG
Я только заметил, что он работает хорошо, и была моя ошибка в первом примере, вместо того, чтобы повторять VAR, я повторил CONT. То почему он не работал. – JorgeeFG
@Jorge ваш первый случай ('$ VAR') начинается с 0 – Kent