shell 腳本語法大全

 概念 

          1、shell 腳本第一行 #!後面的!來告訴shell用哪個shell來運行腳本,可以使用base shell

          2、環境變量:$ 符號

          3、用戶變量 : 區分大小寫  

group=mysql
user=mysql

 

 語法:

 

1、cat << EOF > /etc/my.cnf

EOF 結束符可將指定內容輸入到指定的文件中

cat << EOF > /etc/my.cnf
[mysqld]
port=3306
!includedir /etc/my.cnf.d
EOF

2、命令替代

可以將命令輸出賦值給變量
反引號(``)和$()
password=`cat $basedir/initinfo | grep password | awk -F " " {'print $NF'}`

3、if else-if else 

if else-if else
if else-if else 語法格式:

if condition1
then
    command1
elif condition2 
then 
    command2
else
    commandN
fi

4、文件比較

1、檢測目標   -d檢測目錄是否存在
2、檢測對象   -e比較文件和目錄是否存在
3、檢測文件   -e比較可用於文件目錄。確定指定對象爲文件,必須用 -f 比較

#!/bin/bash
item_name=$HOME
if [-e $item_name]
then
.....
   if[-e $item_name]
   then...

5、使用雙括號

(()) [[]]

()裏面的特殊字符可以不用轉義
[]: 提供了模式匹配

if[[$SURE == r*]]  是否已r 開頭

6、sed 

s: / 第二個字符串代替第一個字符串
e: sed命令上執行多個命令,命令之間用 分號 隔開

替換選項
g: 新文本將會替換所有匹配的舊文本
p: 原先行的內容要打印出來
w file:將替換結果寫在文件中

替換字符
/ 轉義
d: 刪除行
sed 'number 1/d' data6.txt  // sed 編輯器不會刪除原始文件,只是在sed 編輯器中消失

插入和附加文本
i: 會在指定的行前添加一行
a: 會在指定的行後添加一行
echo "test line 1" | sed 'i\Test Line 1' 

修改行

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章