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 " " `
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 開頭
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'
修改行
Shell指令碼語法
定義單變數 p name kang 使用單變數 echo p name js 輸出kang.js echo p name.js 輸出kang.js cp p name.js copy.js 命令1 命令2 如果左邊的 命令1 執行成功,那麼右邊的 命令2 才會被執行。命令1 命令2 與 相反。如果 ...
shell指令碼 語法
條件測試 test 命令test 可以測試乙個條件是否成立,如果測試條件為真,則該命令的exitstatus為0,反之,exitstatus為1。注意 命令 各引數之間應該用空格隔開,以 結尾。但是 不是命令。測試命令 d dir 如果dir存在並且是乙個目錄則為真 f file 如果file存在並...
shell指令碼語法
測試乙個條件是否成立,python ubuntu 1004 var 2 python ubuntu 1004 test var python ubuntu 1004 echo 0python ubuntu 1004 test var gt 5 python ubuntu 1004 echo 1或者 ...