linux(七)__shell指令碼編程,__shell指令碼編程
一、什麼是shell指令碼
shell除了是命令直譯器之外還是一種程式設計語言,用shell編寫的程式類似於DOS下的批次程式。
它是使用者與作業系統之間的一個介面。
shell指令碼語言非常擅長處理文本類型的資料,由於linux中的設定檔都是文字檔,所以shell指令碼語言
在管理linux系統中發揮了巨大的作用。
二、為什麼學習shell script
三、基本文法
一般檔案以 #!/bin/bash開頭,表示該檔案使用的是bash文法,不設定也行,但這是一種規範。
shell指令碼是以行為單位的。注釋# 變數支援字串變數和整型變數
vi 編輯shell指令檔
調用方式:
sh script-file
可以加-x選項來查看這個指令碼的執行過程,這樣有利於調試。
./ script-file
用./方式執行shell指令碼必須設定檔案許可權chmod +x filename 成可執行檔
.bin檔案就要用./調用
shell變數
name=string
name變數 string被賦的值 兩邊不能有空格,會視為一個命令
例:
v=centos
echo=$v ($標示一個變數)
date命令:
date
date +%H:%M:%S
shell運算式:
簡單四則運算:
b=$((5*5+5-3/2))
echo $b
29
在linux shell中,我們可以使用 $(()) 將運算式放在括弧中,即可達到運算的功能。
或者用$[]也可以。
字串的處理
和使用者互動:
read命令
p是prompt的縮寫,即由這個開關項給出提示資訊,例如
read -p 'please input you choice:\n' choice
斷行符號後螢幕會顯示:
please input you choice:
那麼之後你輸入的東西就會被儲存到choice變數中了
判斷:
test判斷
例:
filename=/home/hello.java
test -f $filename && echo 'exit' || echo 'not exit'
[]判斷
尤其是注意第一條,變數常數與符號之間都要有空格。
判斷
例:
if [ -f $filename ];then
echo 'the file is exist'
fi