天天看點

shell腳本

1. Linux 腳本編寫基礎

程式必須以下面的行開始(必須放在檔案的第一行):

#!/b#對變量指派:

對變量的指派

a="hello world"

# 輸出變量a的内容:

echo $a

num=2

echo "this is the $numpp"

僅僅列印"this is the "

echo "this is the ${num}nd"

這将列印: this is the 2ndpp

1、常用指令

read指令

作用: 接收鍵盤輸入

格式:read 選項 變量名

選項

-p 輸出提示資訊

-t 指定等待時間(秒),預設會一直等待使用者輸入

-n 指定接收的字元數

-s 隐藏輸入的資料

read -p "please input your name" -t 10 name                 将使用者輸入的值賦予name

echo指令

echo  字元串                                   輸出字元串或變量的值,預設輸出後會換行,且不會識别特殊字元

echo -n  字元串                         輸出字元串或變量的值,不換行

echo -e 字元串                          輸出字元串或變量的值,在遇到 特殊字元時需轉換,比如\n代表換行

符号

' '       單引号 在單引号中所有特殊符号均無特殊含義

" "       雙引号 在雙引号中,除“$”“\”外其他特殊符号都無特殊含義

$( )       括号中使用系統指令

$      調用變量的值

\      反斜杠 轉義符,轉義符的特殊字元無特殊含義

$#      代表指令行中參數的個數

$*      代表指令行中所有參數,把所有參數看成一個整體

$@      代表指令行中所有參數,把每個參數差別對待

$?      代表最後一次執行的指令的傳回狀态,傳回變量值為0代表執行成功,否則不成功

條件判斷

使用[   ]可以對條件進行測試,使用[[    ]]可以對多個條件進行判斷

1.按檔案類型判斷

-e 判斷檔案是否存在

-d 判斷檔案是否存在,并且是否為目錄

-f 判斷檔案是否存在,并且是否為普通檔案

[-e /root/install.log]&&echo “yes”|| echo "no"         如果存在檔案則輸出yes,否則輸出

2整數比較

整數1 -eq 整數2            判斷是否相等

        -ne                       判斷是否不等

        -gt                 判斷整數1是否大于整數2

         -lt               判斷整數1是否小于整數2

        -ge                判斷整數1是否大于等于整數2

       -le                   判斷整數1是否小于等于整數2

3字元串比較

-z                 判斷字元串是否為空

-n                判斷字元串是否不為空

字元串1     ==        字元串2                   判斷字元串是否相等

字元串1     !=         字元串2                     判斷字元串是否不等

a=""   [-z  "$a"]&&echo "yes"||echo "no"                  b=1  c=2   [-z  "$b"=="$c"]&&echo "yes"||echo "no"

if語句

if [ 條件判斷式 ];

then

  程式

fi

判斷目前使用者是否為root

for語句

for   變量 in 值1  值2  值3.....  

 do      程式    

done

#!/bin/bash#

s=0;

for((i=1;i<=100;i=i+1))            從1加到100

do

    s=$(($s+$i))  

echo "the sum is:$s"

while     語句

while [ 條件判斷式 ]  

do  

程式  

#!/bin/bash                                   #從1加到100

i=1

s=0

while [ $i -le 100 ]  

do     s=$(($s+$i))

    i=$(($i+1))  

<a href="https://s4.51cto.com/wyfs02/M01/99/AD/wKioL1lLMhuTvbIbAAKCWAYhFw8656.png" target="_blank"></a>

<a href="https://s5.51cto.com/wyfs02/M02/99/AD/wKiom1lLMhyj0bY3AAISw8QKNyo338.png" target="_blank"></a>

<a href="https://s1.51cto.com/wyfs02/M02/99/AD/wKioL1lLMh3BYeVNAAH_WxD0_sE562.png" target="_blank"></a>

<a href="https://s1.51cto.com/wyfs02/M01/99/AD/wKiom1lLMh7SjiTdAAJ96F_aNrM846.png" target="_blank"></a>

<a href="https://s4.51cto.com/wyfs02/M00/99/AD/wKiom1lLMh-xgA79AAJW9vGH1Ow990.png" target="_blank"></a>

<a href="https://s4.51cto.com/wyfs02/M01/99/AD/wKiom1lLMiCzL-WUAAJW4WGbU4k463.png" target="_blank"></a>

本文轉自鐵騎傳說51CTO部落格,原文連結:http://blog.51cto.com/ybzbfs/1940842 ,如需轉載請自行聯系原作者

繼續閱讀