Сгиб: выводит только первый символ

С оболочкой POSIX:

min() {
  min=$1
  shift
  for arg do
    min=$((arg<min?arg:min))
  done
  printf '%s\n' "$min"
}

Все оболочки, кроме zsh , ksh и yash , не поддерживают float числа.

С инструментарием POSIX:

min() {
  awk 'BEGIN {
    min = ARGV[1]
    for(i = 2; i < ARGC; i++)
      min = ARGV[i] < min ? ARGV[i] : min
    print min
  }' "$@"
}

И если у вас есть perl :

min() {
  perl -MList::Util=min -le 'print min @ARGV' "$@"
}

или perl6 :

min() {
  perl6 -e '@*ARGS.min.say' "$@"
}
0
06.12.2018, 19:28
0 ответов

Теги

Похожие вопросы