У меня, вероятно, есть мозговой пердит, но я не могу для жизни меня выяснить, как петля через массив в сценарии оболочки, а не bash. Я уверен, что ответ уже на stackoverflow уже есть, но я не могу найти способ сделать это без использования bash. Для моей встроенной целевой системы bash в настоящее время не является вариантом. Вот пример того, что я пытаюсь сделать, и возвращаемую ошибку.Массивы в Shell Script, а не Bash
#!/bin/sh
enable0=1
enable1=1
port=0
while [ ${port} -lt 2 ]; do
if [ ${enable${port}} -eq 1 ]
then
# do some stuff
fi
port=$((port + 1))
done
Всякий раз, когда я запускаю этот скрипт, ошибка «Плохая замена» возвращается для строки с инструкцией if. Если у вас есть идеи, я бы очень признателен. Благодаря!
Какой дистрибутив? Или, какая оболочка '/ bin/sh' в вашей встроенной системе? –
Я посмотрю в один момент, чтобы убедиться, но это должна быть та же оболочка, которая используется в debian. – TheLastFuzzy
Линия 'if' имеет несбалансированные скобки и пробел между' '' и 'eq', поэтому я сначала исправлю эти проблемы. –