日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

shell的if判断比较

發布時間:2025/1/21 编程问答 68 豆豆
生活随笔 收集整理的這篇文章主要介紹了 shell的if判断比较 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

shell中的if作用毋庸置疑每個80%的shell中都會應用到if判斷,那么作為一個新手我應該咋整呢,今天聽了一上午課,然后就把上午的東西總結了一下寫成了一個腳本,然后來進行給大家聊一聊

#!/bin/bash
##############################################################
# File Name: bbjj.sh
# Version: V1.0
# Author: ls
# Organization: http://shuai12138.blog.51cto.com/
# Created Time : 2017-03-06 14:04:05
# Description:
##############################################################
read -p "pleace input: " -t 2 -n 1 x
echo""
read -p "pleace input: " -t 2 -n 1 y
echo"">/dev/null
if [ -n $x -a -n $y ]
then
if [[ "$x$y" =~ ^[0-9]+$ ]]
then
if [ $x -gt $y ]
then
?echo "$x>$y"
elif [ $x -eq $y ]
then
?echo "$x=$y"
else
?echo "$x<$y"
fi
else
echo "you must input number"
fi
else
echo "error:you must input two"
fi

?

首先來進行第一行的說明:read -p "pleace input: " -t 2 -n 1 x?

read -p來進行腳本交互式的輸入“pleace input”就是在執行shell時的提示信息。 -t 2表示過了2秒鐘你不輸入,那么就會進行退出。-n 1表示我只限制你只能輸入一個字符。

因為我要比較的是兩個數的大小所以我用來2個read,但是為什么我要在這中間加一個echo “”呢?因為如果不加那么read就在在你輸入完成$x那一行之后繼續讓你輸入$y,這完全是為了美觀。

echo"">/dev/null
為什么輸出空我說了,但是為什么要定向到“黑洞”呢,這是因為如果我什么也不輸入的話我的腳本會有提示信息,我不想看他,所以我給他定向到“黑洞”中。

if [ -n $x -a -n $y ]
then

fi

這是一個if判斷,-n是否不為空,-a條件語句(兩邊都滿足才行),這句話是判斷只有你的兩次輸入都不為空,那么才會執行,否則會怎樣。

?

if [[ "$x$y" =~ ^[0-9]+$ ]]
then

fi

這是一個數字判斷,判斷你輸入的是否都是數字,因為如果你輸入的是字母,那么系統可能是一二進制碼來比較的沒意義。所以我得判斷一下是否為數字。(這里特別說一下我是把$x$x都統一放到一起進行比較的。要不然還會在進行判斷,浪費內存)

?

if [ $x -gt $y ]
then
?echo "$x>$y"
elif [ $x -eq $y ]
then
?echo "$x=$y"
else
?echo "$x<$y"
fi

這就是數字的判斷了。我要判斷我輸入的兩個數字。-eq 等于 -gt 大于 -lt 小于 -ge 大于等于 -le小于等于。

?

轉載于:https://blog.51cto.com/shuai12138/1901603

與50位技術專家面對面20年技術見證,附贈技術全景圖

總結

以上是生活随笔為你收集整理的shell的if判断比较的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。