]]> ]]>

Bash 3.2.39

Версия реализации bash языка программирования Unix shell

GNU Bash 3.2.39.

Примеры:

Факториал - Unix shell (3):

Используется рекурсивное определение факториала.

function factorial {
    typeset -i n=$1
    if [ $n = 0 ]; then
        echo 1
        return
    fi
    echo $(( n * $(factorial $(( n - 1 )) ) ))
}

for i in {0..16}
do
    echo "$i! = $(factorial $i)"
done

Hello, World! - Unix shell, Foma (368):

echo Hello, World!

Факториал - Unix shell (369):

Пример, работающий в версиях Unix shell, не поддерживающих синтаксис for i in {0..16} или ((i = 0; i <= 16; i++)): цикл for конструируется “вручную”.

В mksh используются 32-битовые целые числа, так что для факториалов чисел больше 13 в этой реализации происходит переполнение.

function factorial {
    typeset -i n=$1
    if [ $n = 0 ]; then
        echo 1
        return
    fi
    echo $(( n * $(factorial $(( n - 1 )) ) ))
}

i=0
while [[ $i -le 16 ]] 
do
    echo "$i! = $(factorial $i)"
    ((i++))
done

Комментарии

]]>

blog comments powered by Disqus

]]>

Работа программистам