1. 程式人生 > >shell指令碼語法學習

shell指令碼語法學習

以下內容僅為個人學習使用,如有錯誤,歡迎指出

持續更新...............

 

1.首先建立.sh檔案,開啟並在檔案的第一行輸入#!/bin/sh

 

2.變數的寫法,及用法

 

test='我是變數'
echo "$test"
或者
echo $test

 

3.echo命令

用來輸出文字或變數到控制檯:用法請看上面

 

4.read命令

用來讀取使用者在控制檯上輸入的內容

 

echo "please input you content"
#這裡content自定義,就是一個變數名
read content echo
"you input content is $content"

 

 

5.或持續更新命令

先上兩小段程式碼吧

 

# 執行系統命令語法: `系統命令`
ip=`/sbin/ifconfig -a|grep inet|grep -v 127.0.0.1|grep -v inet6|awk '{print $2}'` #ip1=/sbin/ifconfig|sed -n '/inet addr/s/^[^:]*:\\([0-9.]\\{7,15\\}\\) .*/\\1/p' | grep -v 127.0.0.1 while True; do echo
"$ip" ipp=`/sbin/ifconfig -a|grep inet|grep -v 127.0.0.1|grep -v inet6|awk '{print $2}'` echo "$ipp" if [ "$ip" != "$ipp" ]; then `sudo shutdown -h 16:00` else echo "正常" fi sleep 1s done

這段程式碼主要是監控ip地址是否發生改變,如何IP地址改變則執行關機

#!/bin/sh
  
echo "please input you name"
read name
echo "please input one number:"
read numbero
echo "please input one number again:"
read numbert
if [[ x$name == 'x' || x$numbero == 'x' || x$numbert == 'x' ]]
then
        echo "you input has null"
elif [[ $numbero -gt $numbert && $name == 'msw' ]]
then
        echo "you input one big"
elif [ $numbero -lt $numbert ]
then
        echo "you input two big"
else
        echo "ne"
fi

這段程式碼沒什麼意思,主要是聯絡我見天學習的幾個命令和判斷語法

重難點詳解

|| 或

&& 和

-gt 大於

-lt 小於

x$name == 'x' 判斷輸入是否為空,還可以寫成其他的

注意:在[[]]中才可使用&& ||語法,如果是[],和是-a, 或是-o

  還有要注意欄位間的空格

 

 

今天就先到這裡吧!