2021年2月27日 星期六

shell script 基本語法


 1.變數宣告

直接 寫 

Var1="12345" 

注意  等號兩邊不可以有空白


2. for 迴圈運算

第一種

for i in  var1 var2 var3 

do 

    execute

done


注意 var1 和 var2 中先用 空白隔開


第二種

for ((i=0 ; i <10 ; i++))

do 

    execute

done 

與 C語言一樣  注意 是要 雙誇號。


2.5  while loop 使用





3.基本變數之符號

var1=1;

取值

echo ${var1}



4.shell 內的基本算術運算 

(http://mirror.sars.tw/Bash_Shell_by_ols3/c860.html)


第一種:使用 expr 這個外部程式

加法 r=`expr 4 + 5`

echo $r

注意! '4' '+' '5' 這三者之間要有空白

注意! 以下是錯誤的寫法:

r=`expr 4 * 5`

原因:* 對 bash 而言有特殊意義(萬用字元),所以要改用以下寫法:

乘法 r=`expr 4 \* 5`

也就是說用 \ 取消 * 的特殊意義。


第二種 使用 $(())

r=$((4+5))

echo $r


第三種 使用 $[]

r=$[123-23]

echo $r


第四種 使用 let 1+2

n=10

let n=n+1

echo $n  

operator + - * /  % 




5. array  在 for lop 取值 

for ((i=0 ; i <10 ; i++))

do 

    echo  ${array[$j]}   ### <----- array 必須要被 {} 包起來

done


6.array 取大小

echo "${#myarray[@]}"


(https://www.cyberciti.biz/faq/finding-bash-shell-array-length-elements/)



7.呼叫外部程式 

echo  "current date is "  `date`     ---> 用`` 包起來 表示執行 shell command 



8.一些小細節


https://codertw.com/%E5%89%8D%E7%AB%AF%E9%96%8B%E7%99%BC/393654/

就是說 裡面 最好用 "${check}" 給它包起來或是 

if [[   判斷是 ]]

或是 if [  a > "${b}"]




9.關於字串位移的一些基本知識

https://codertw.com/%E5%89%8D%E7%AB%AF%E9%96%8B%E7%99%BC/392050/



10.關於 eval 的一些基本知識

https://unix.stackexchange.com/questions/23111/what-is-the-eval-command-in-bash..



http://www.study-area.org/cyril/scripts/scripts/node18.html




11. 在  shell 裡面將 command  結果回傳給 varialbe

# 方法一 變數名稱=`Command` # 方法二 變數名稱=$(Command)

https://ithelp.ithome.com.tw/articles/10135275

沒有留言:

張貼留言