shell學習筆記

運行 Shell 腳本有兩種方法:

1.作爲可執行程序

chmod +x test.sh
./test.sh

2.作爲解釋器參數執行

/bin/bash test.sh
/bin/php test.php

shell變量定義和使用

定義變量名,和使用變量進行輸出(注意賦值的時候=兩邊不能有空格):

your_name="Xiao6"
echo $your_nama
echo ${your_nama}   #{}可有可無,加花括號是爲了幫助解釋器識別變量的邊界。
echo "Hello ${your_name}nihao"

除了顯性賦值,還可以用語句給變量賦值

只讀變量

使用 readonly 命令可以將變量定義爲只讀變量,只讀變量的值不能被改變。

#!/bin/bash
myUrl="http://www.google.com"
readonly myUrl
myUrl="http://www.runoob.com"

運行腳本,結果如下:

/bin/sh: NAME: This variable is read only.

刪除變量:

使用 unset 命令可以刪除變量。以下將不會有任何輸出

#!/bin/sh
myUrl="http://www.runoob.com"
unset myUrl
echo $myUrl

Shell 字符串

單雙引號的區別跟PHP類似:

單引號字符串的限制:單引號裏的任何字符都會原樣輸出,單引號字符串中的變量是無效的;單引號字串中不能出現單獨一個的單引號(對單引號使用轉義符後也不行),但可成對出現,作爲字符串拼接使用。

雙引號的優點:雙引號裏可以有變量、雙引號裏可以出現轉義字符

#!/bin/bash

your_name='runoob'
str1='Hello, I know you are $your_name!'
str2="Hello, I know you are $your_name!"
echo $str1
echo $str2

執行以後輸出:
Hello, I know you are $your_name!
Hello, I know you are runoob!

單引號可以這樣寫,就可以正常輸出

str3='Hello, I know you are '$your_name'!'
echo $str3

echo ${$str3}       #獲取字符串長度

查找字符 i 或 o 的位置(哪個字母先出現就計算哪個)
string="runoob is a great site"
echo `expr index "$string" io`  # 輸出 4
注意: 以上腳本中 ` 是反引號,而不是單引號 ',不要看錯了哦。
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章