mksh
Реализация языка программирования Unix shellMirBSD Korn Shell (mksh) — активно разрабатываемый проект-наследник pdksh (Public Domain Korn Shell). Цель разработки — предоставить хорошую командную оболочку для интерактивного использования, но с основным упором на написание скриптов.
mksh поддерживает большие файлы, массивы неограниченного размера, все расширения pdksh и некоторые из csh, AT&T ksh, zsh и GNU bash, совместима с Bourne shell и POSIX (с ограничениями), а также имеет ряд других полезных расширений и встроенных команд.
mksh может работать на большинстве распространенных Unix-совместимых систем.
                    
                    
 Логотип mksh
                
Примеры:
Hello, World!:
Пример для версий Bash 3.0, Bash 3.2.39, Bash 4.0.35, Bash 4.1.5, Foma 0.9.17, mksh R40echo Hello, World!
Факториал:
Пример для версий Bash 3.0, Bash 3.2.39, Bash 4.0.35, Bash 4.1.5, mksh R40Пример, работающий в версиях 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
]]>