2016-04-14 3 views
-1

Я пишу код, где я должен попросить пользователя написать три цифры ввода, а затем распечатать его в порядке убывания, но sort -r не работает.Bash script по убыванию

#!/bin/bash 
echo "Enter 3 numbers with space between" 
read num1 num2 num3 | sort -r 
echo "$num1 $num2 $num3" 
+0

Трудно предложить решения, когда проблема заявление просто «не работает». Пожалуйста, отредактируйте ваш вопрос , чтобы дать более полное описание того, что вы ожидаете от и как это отличается от фактических результатов. См. [Ask] для подсказок о том, что делает хорошее описание . –

+0

i кроме этого, чтобы напечатать результат от высокого до низкого значения, введенного пользователем. например, если пользовательский тип 472 я хочу, чтобы он печатал 742. но после того, как я введу номер, его печать будет в том же порядке, что и я. –

+0

Эта информация должна быть частью самого вопроса ** **, а не комментария. [edir] вы публикуете. – Tsyvarev

ответ

1

read просто считывает значения для переменных. Он ничего не печатает. Так что sort ничего не получит на стандартном входе.

Я думаю, что вы хотите:

read A B C 
echo "$A\n$B\n$C\n" | sort -rn 

Объяснение:

  1. Читает значение в 3-х переменные A, B, C
  2. Вы печатаете их
  3. Вам сортировать их в обратном порядке. Примечание -n требуется для цифровой сортировки.

Также обратите внимание, что требование для read A B C состоит в том, что номера разделяются пробелами.

+1

Большое вам спасибо, что я искал. –

Смежные вопросы