Shell编程实现:输入三个数进行升序排序。如:输入1、3、2,实现输出为:1、2、3。
时间: 2023-12-16 18:02:56 浏览: 28
以下是 Shell 编程实现:
```
#!/bin/bash
echo "请输入三个数,以空格分隔:"
read a b c
if [ $a -gt $b ]; then
temp=$a
a=$b
b=$temp
fi
if [ $a -gt $c ]; then
temp=$a
a=$c
c=$temp
fi
if [ $b -gt $c ]; then
temp=$b
b=$c
c=$temp
fi
echo "升序排序后的结果为:$a,$b,$c"
```
在运行程序时,需要进入到程序所在的目录,然后输入以下命令:
```
sh sort.sh
```
接着按照提示输入三个数,即可得到升序排序的结果。
相关问题
shell实现输入三个数并进行升序排序
可以使用以下代码实现:
read -p "请输入三个数,用空格隔开:" a b c
echo "升序排序结果为:"
echo "$a $b $c" | tr ' ' '\n' | sort -n | tr '\n' ' '
这段代码会先提示用户输入三个数,然后将这三个数存储在变量 a、b、c 中。接着,使用 echo 命令输出排序结果。具体实现是将输入的三个数通过空格分隔符转换成一行,然后使用 tr 命令将空格替换成换行符,再使用 sort 命令进行排序,最后再将换行符替换回空格即可。
用Linux编写shell脚本,输入3个数并升序输出
好的,以下是一个简单的shell脚本,可以输入3个数并升序输出:
```bash
#!/bin/bash
# 读取3个数
echo "请输入3个数,以空格分隔:"
read num1 num2 num3
# 利用if语句判断大小关系并进行排序
if [ $num1 -lt $num2 ]
then
if [ $num1 -lt $num3 ]
then
echo -n "$num1 "
if [ $num2 -lt $num3 ]
then
echo "$num2 $num3"
else
echo "$num3 $num2"
fi
else
echo "$num3 $num1 $num2"
fi
else
if [ $num2 -lt $num3 ]
then
echo -n "$num2 "
if [ $num1 -lt $num3 ]
then
echo "$num1 $num3"
else
echo "$num3 $num1"
fi
else
echo "$num3 $num2 $num1"
fi
fi
```
运行这个脚本,就会输出输入的3个数的升序排序结果。例如,输入3个数分别为3、1、2,则输出结果为:
```
1 2 3
```