LINUX.ORG.RU

Числа в bash

 


0

1

Чем отличаются 08 и 09 от других чисел?

$ cat test.sh
#!/bin/bash
#

INDEX="${1}"

echo "--- ${INDEX} ---"

INDEX="$(( "${INDEX}" + "1" ))"

if [[ "${INDEX}" -lt "10" ]] ; then
    VAR="0${INDEX}"
else
    VAR="${INDEX}"
fi

echo "${VAR}"

$ for i in {05..11} ; do bash test.sh "${i}" ; done
--- 05 ---
06
--- 06 ---
07
--- 07 ---
08
--- 08 ---
test.sh: line 8: 08: value too great for base (error token is "08")
test.sh: line 10: [[: 08: value too great for base (error token is "08")
08
--- 09 ---
test.sh: line 8: 09: value too great for base (error token is "09")
test.sh: line 10: [[: 09: value too great for base (error token is "09")
09
--- 10 ---
11
--- 11 ---
12
★★★★★

Ответ на: комментарий от firkax

Это может зависеть от задачи. Если в сценарии в основном запуск программ а арифметика простая, то в более другом языке можно устать вызывать sys.exec.

sin_a ★★★★★
() автор топика