
Я написал этот скрипт bash для вывода нечетных чисел, но код не работает, что-то не так с оператором if. Может кто-нибудь указать на ошибку?
for((c=0;c<100;c++));
do
if ["$c" % 2 != 0] ; then
echo $c;
fi
done;
решение1
Это немного похоже на школьное задание, поэтому ниже приведены фрагменты информации, необходимые для выполнения работы, а не окончательный ответ.
Во-первых, [
это утилита командной строки. Так что ошибка, которую вы, вероятно, получаете bash: [0: command not found
и т. д., пытается сказать вам, что bash нужен пробел для понимания аргументов, которые вы передаете.
Следующая проблема — [
поиск оператора, который оценивается как булево значение. Вы, вероятно, хотите найти способ подоболочки или иным образом инкапсулировать математику. Посмотрите наexpr
Надеюсь, это поможет!
решение2
для людей, которые могут искать эту информацию, эта задача может быть выполнена с помощью:
последовательность 1 2 99
Чтобы лучше понять это, вы можете проверить:
человек seq