У меня запущен довольно простой скрипт bash в ubuntu, но у вас возникла проблема. При необходимости я отправлю весь сценарий, но я сузил проблему. В принципе, я хочу, чтобы запустить код каждые 15 секунд, так что я начал с этим:Bash script, Недопустимый номер: 08
time=`date +%S`
time2=$((time%15))
if [ $time2 -eq 0 ]
then
и т.д., и т.д., и т.д ....
Проблема возникает, когда время 08 секунд. Сценарий завершается Нелегальная номер: 08. Добавление к этому, при использовании:
time2=$(($time%15))
вместо незаконной ошибки номер, он будет завершаться с арифметическим выражением: ожидается EOF: «08% 15»
Я предполагаю, что 08 не интерпретируется как число. Или есть какая-то базовая проблема, как будто она думает, что она в восьмеричном или что-то в этом роде. Любая помощь?
08, вероятно, интерпретируется как восьмеричный в большинстве языков и систем C-стиля. – OregonGhost
@OregonGhost: Действительно. И, более конкретно, 08 не является допустимым числом в восьмеричном, поэтому сообщение об ошибке. Для сравнения это эквивалентно подсчету в шестнадцатеричном виде и переход от 0x0F до 0x0G, т. Е. Вы не можете этого сделать ;-) –