Вам необходимо прочитать значения и затем передать их в программу сортировки.
echo -n "Enter 1st number: "
read a junk
echo -n "Enter 2nd number: "
read b junk
echo -n "Enter 3rd number: "
read c junk
echo -n "Enter 4th number: "
read d junk
{ echo $a; echo $b; echo $c; echo $d; } | sort -n
Единственная проблема здесь - это обозначение, используемое для подавления перевода строки после команды echo
.Есть две нотации - и разные системы используют разные нотации.Старое обозначение - echo -n
показано.Более новые обозначения:
echo "Enter Nth number: \c"
То, что вам нужно использовать, зависит от вашей системы, затем.
Переменная 'junk' собирает любые дополнительные слова после первого слова в строке ввода.Это форма паранойи, но это означает, что если пользователь вводит «12 abc», то однобуквенная переменная получает только «12», а не остальные.Код не подтверждает, что пользователь ввел номер.Вы можете написать функцию для этого и использовать ее 4 раза - она также может взять строку приглашения и вернуть число.
Обратите внимание, что если вы используете bash
, команда read
оченьболее мощный и может также выполнять подсказки, обходя хитрые проблемы с нотацией echo
для непереносимых (к bash
) нотаций вместо read
.За исключением записи echo
, показанный код переносим на оболочку Bourne обратно в 7-е издание (или версию 7) UNIX (где echo
не была встроенной оболочкой и использовалась опция -n
) и производные (Korn, Bash, POSIX, ...).