Shell 指令碼 10 提示使用者輸入 3 個整數

2021-10-07 04:36:00 字數 1278 閱讀 2136

指令碼需求:

​ 依次提示使用者輸入 3 個整數,指令碼根據數字大小依次排序輸出 3 個數字

指令碼內容:

#! /bin/bash

read -p '請輸入乙個整數:' num1

read -p '請輸入乙個整數:' num2

read -p '請輸入乙個整數:' num3

#不管誰大誰小,最後都列印 echo "$num1,$num2,$num3"

#num1 中永遠存最小的值,num2 中永遠存中間值,num3 永遠存最大值

#如果輸入的不是這樣的順序,則改變量的儲存順序,如:可以將 num1 和 num2 的值對調

tmp=0

# 如果 num1 大於 num2,就把 num1 和和 num2 的值對調,確保 num1 變數中存的是最小值

if [ $num1 -gt $num2 ];then

tmp=$num1

num1=$num2

num2=$tmp

fi#如果 num1 大於 num3,就把 num1 和 num3 對調,確保 num1 變數中存的是最小值

if [ $num1 -gt $num3 ];then

tmp=$num1

num1=$num3

num3=$tmp

fi#如果 num2 大於 num3,就把 num2 和 num3 對標,確保 num2 變數中存的是小一點的值

if [ $num2 -gt $num3 ];then

tmp=$num2

num2=$num3

num3=$tmp

fiecho "排序後資料為:$num1,$num2,$num3"

指令碼思路:

​ 通過 read 來定義變數,使用 if 來比較num1 和 num2 的大小

​ 如果 num1 大於 num2 則將兩個值進行對調

​ 如果 num1 大於 num3 則將兩個值進行對調

​ 如果 num2 大於 num3 則將兩個值進行對調

指令碼輸出:

[root@localhost script]# sh 10.sh 

請輸入乙個整數:10

請輸入乙個整數:11

請輸入乙個整數:12

排序後資料為:10,11,12

[root@localhost script]# sh 10.sh

請輸入乙個整數:100

請輸入乙個整數:29

請輸入乙個整數:37

排序後資料為:29,37,100

shell指令碼學習 處理使用者輸入

當指令碼需要與執行指令碼的人員進行互動。bash shell提供了命令列引數 新增在命令後面的資料值 命令列選項 修改命令行為的單字元值 和直接讀取鍵盤輸入。向shell指令碼傳遞資料的最基本方式是使用命令列引數。讀取輸入的引數的變數為位置引數,位置引數通過標準數字表示,其中 0為程式名稱,1為第乙...

shell指令碼學習 處理使用者輸入

當指令碼需要與執行指令碼的人員進行互動。bash shell提供了命令列引數 新增在命令後面的資料值 命令列選項 修改命令行為的單字元值 和直接讀取鍵盤輸入。向shell指令碼傳遞資料的最基本方式是使用命令列引數。讀取輸入的引數的變數為位置引數,位置引數通過標準數字表示,其中 0為程式名稱,1為第乙...

Shell指令碼學習筆記 使用者輸入處理

1.命令列引數 1.1 引數之間空格分隔,格式 position,e.g.0,1,2,其中 0表示指令碼名字,超過10個引數時,e.g.第10個引數用 表示 1.2 簡單示例 1.3 通過建立軟連線的方式,同乙個指令碼,根據不同指令碼名字,執行不同指令碼內容,e.g.2.命令列引數變數的處理 2.1...