Shell編程筆記
阿新 • • 發佈:2017-07-28
shell 腳本 取字符 span log 出現 ado bcd 獲取字符串 只讀
#!/bin/bash
echo "Hello World !"
1、作為可執行程序
將上面的代碼保存為 test.sh,並 cd 到相應目錄:
chmod u+x ./test.sh #使腳本具有執行權限
./test.sh #執行腳本
2、作為解釋器參數
這種運行方式是,直接運行解釋器,其參數就是 shell 腳本的文件名,如:
/bin/sh test.sh
/bin/php test.php
使用變量
your_name="qinjx" echo $your_name echo ${your_name}
echo "I am good at ${your_name}Script"
readonly修飾為只讀
unset 命令可以刪除變量unset variable_name
單引號字符串的限制:
- 單引號裏的任何字符都會原樣輸出,單引號字符串中的變量是無效的;
- 單引號字串中不能出現單引號(對單引號使用轉義符後也不行)。
雙引號的優點:
- 雙引號裏可以有變量
- 雙引號裏可以出現轉義字符
拼接字符串
your_name="qinjx"
greeting="hello, "$your_name" !"
greeting_1="hello, ${your_name} !"
echo $greeting $greeting_1
獲取字符串長度用#
string="abcd"
echo ${#string} #輸出 4
string="runoob is a great site"
echo ${string:1:4} # 輸出 unoo
string="runoob is a great company"
echo `expr index "$string" is` # 查找is,輸出 8。腳本中 "`" 是反引號,而不是單引號 "‘"
數組
array_name=(value0 value1 value2 value3)
array_name[0]=value0
array_name[1]=value1
array_name[n]=valuen
讀取數組的值
valuen=${array_name[n]}
[email protected],例如:
echo ${array_name[@]}
# 取得數組元素的個數
length=${#array_name[@]}
# 或者
length=${#array_name[*]}
截取字符串
1. # 號截取,刪除左邊字符,保留右邊字符。 echo ${var#*//} 其中 var 是變量名,# 號是運算符,*// 表示從左邊開始刪除第一個 // 號及左邊的所有字符 即刪除 http:// 結果是 :www.aaa.com/123.htm 2. ## 號截取,刪除左邊字符,保留右邊字符。 echo ${var##*/} ##*/ 表示從左邊開始刪除最後(最右邊)一個 / 號及左邊的所有字符 即刪除 http://www.aaa.com/ 結果是 123.htm 3. %號截取,刪除右邊字符,保留左邊字符 echo ${var%/*} %/* 表示從右邊開始,刪除第一個 / 號及右邊的字符 結果是:http://www.aaa.com 4. %% 號截取,刪除右邊字符,保留左邊字符 echo ${var%%/*} %%/* 表示從右邊開始,刪除最後(最左邊)一個 / 號及右邊的字符 結果是:http: 5. 從左邊第幾個字符開始,及字符的個數 echo ${var:0:5} 其中的 0 表示左邊第一個字符開始,5 表示字符的總個數。 結果是:http:
Shell編程筆記