文章目錄
- 一、echo命令
- 二、查看當前系統的時間—date命令
- 三、for回圈陳述句
- 四、while回圈陳述句結構(迭代)
- 五、until 回圈陳述句結構
- 六、continue和break
一、echo命令
echo -n 表示不換行輸出
echo -e 輸出轉義字符,將轉義后的內容輸出到螢屏上
| 轉義符 號 | 含義 |
|---|---|
| -n | 表示不換行輸出 |
| \e | 輸出轉義字符,將轉義后的內容輸出到螢屏上 |
| \b | 轉義后相當于按退格鍵,但前提是b后面存在字符: b表示洗掉前一個字符,\b\b表示洗掉前兩個字 符 |
| \c | 不換行輸出,當\c后面存在字符時,后面的字符不會被輸出 |
| \n | 換行,被輸出的字符從\n除開始另起一行 |
| \f或\v | 換行,但是換行后的新行的開頭位置連接著上一行的行尾 |
| \t | 轉以后表示插入tab,即橫向制表符 |
| \r | 游標移至行首,用后面的字符覆寫等長度的前面的字符 |
示例1:echo -n 表示不換行輸出

示例2:echo -e 輸出轉義字符,將轉義后的內容輸出到螢屏上,\b轉義后相當于按退格鍵,但前提是b后面存在字符: b表示洗掉前一個字符,\b\b表示洗掉前兩個字 符

示例3:\c不換行輸出

示例4:\n 換行輸出

示例5:\f 、\v換行輸出

示例6:\t制表符顯示

示例7:\r游標移至行首不換行

示例8:\表示符號本身

示例9: 洗掉字符的方法:

示例10: 截取字符的方法:

示例11: 增加字串的方法

二、查看當前系統的時間—date命令
格式:
date [選項]... [+格式]
#查看當前日期
[root@localhost while]#date +%F
2021-10-21
#查看當前日期及時間
[root@localhost while]#date +%F" "%H:%M:%S
2021-10-21 14:27:44
#前三天
[root@localhost while]#date -d "-3 day"
2021年 10月 18日 星期一 14:30:21 CST
#后三天
[root@localhost while]#date -d "+3 day"
2021年 10月 24日 星期日 14:30:13 CST
#查看日歷
[root@localhost while]#cal 2021

三、for回圈陳述句
用法:
讀取不同的變數值,用來逐個執行同一組命令
for回圈經常使用在已經知道要進行多少次回圈的場景
格式:
for 變數名 in 取值串列
do
命令序列
done

示例1: 回圈出0到10之間的整數
法一:
#!/bin/bash
for i in {1..10}
do
echo $i
done
法二:
#!/bin/bash
for i in $(seq 1 10)
do
echo $i
done


示例2:for i in *;do echo $i;done查看當前目錄下所有內容

示例3:求1…10奇數和
#/bin/bash
sum=0
for i in {1..10..2}
do
sum=$[sum+i]
let i++
done
echo "10以內的奇數和為:$sum"

示例4:批量創建用戶并修改密碼
#!/bin/bash
for i in {1..10}
do
echo user$i|xargs -n1 useradd
echo "123123"|passwd --stdin user$i
done


示例5:批量改名
#!/bin/bash
cd /data
for i in *
do
name=`echo $i |cut -d "." -f1`
mv $i ${name}.bak
done

四、while回圈陳述句結構(迭代)
用法:
重復測驗某個條件,只要條件成立則反復執行
常在不知道范圍的時候成立
格式:
while 條件測驗操作
do
命令序列
done
示例:猜數字小游戲
#!/bin/bash
price=`echo $[RANDOM%3+1]`
time=0
while true
do
read -p "請輸入商品的價格(1-1000):" num
let time++
if [ $price -eq $num ]
then
echo "恭喜你猜對了"
echo "您一共猜了$time次"
exit 1
elif [ $price -lt $num ]
then
echo " 價格太高了!"
else
echo "你在想屁吃,價格太低了!"
fi
done

五、until 回圈陳述句結構
用法: 重復測驗某個條件,只要條件不成立則反復執行
格式:
until 條件測驗操作
do
命令序列
done

示例:求1到100的和
#!/bin/bash
sum=0
i=0
until [ $i -gt 100 ]
do
sum=$[sum+i]
let i++
done
echo "{1..100}的和:$sum"

六、continue和break
break和continue都是用來控制回圈結構的,主要是停止回圈,
break 有時候我們想在某種條件出現的時候終止回圈而不是等到回圈條件為false才終止, 這時我們可以使用break來完成,break用于完全結束一個回圈,跳出回圈體執行回圈后面的陳述句,
continue continue和break有點類似,區別在于continue只是終止本次回圈,接著還執行后面的回圈,break則完全終止回圈, 可以理解為continue是跳過當次回圈中剩下的陳述句,執行下一次回圈,
continue和break使用方法
break:
1、語法 break 將用于以下break陳述句退出回圈:
2、break n 這里n指定的第n個封閉的回圈退出,
continue:
1、語法 continue 和break陳述句一樣,一個整數引數可以給continue命令跳過嵌套回圈的命令,
2、continue n 這里n指定第n個封倍訓圈 continue ,
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/339300.html
標籤:其他
