引號(hào)
- 單引號(hào)
單引號(hào)里的任何字符都會(huì)原樣輸出,單引號(hào)字符串中的變量是無(wú)效的;
單引號(hào)字串中不能出現(xiàn)單引號(hào)(對(duì)單引號(hào)使用轉(zhuǎn)義符后也不行)。 - 雙引號(hào)
雙引號(hào)里可以有變量
雙引號(hào)里可以出現(xiàn)轉(zhuǎn)義字符 - 不加引號(hào):
不會(huì)將含有空格的字符串視為一個(gè)整體輸出, 如果內(nèi)容中有命令、變量等,會(huì)先把變量、命令解析出結(jié)果,然后在輸出最終內(nèi)容來(lái),如果字符串中帶有空格等特殊字符,則不能完整的輸出,需要改加雙引號(hào),一般連續(xù)的字符串,數(shù)字,路徑等可以用。
shell腳本與hive查詢中的變量設(shè)置http://m.itdecent.cn/p/6a14c80d96d7
常見(jiàn)變量
$# 傳遞給腳本或函數(shù)的參數(shù)個(gè)數(shù)。
$0 當(dāng)前腳本的文件名
$? 可以獲取上一個(gè)命令的退出狀態(tài)。所謂退出狀態(tài),就是上一個(gè)命令執(zhí)行后的返回結(jié)果,0代表正常輸出。
length=${#array[@]} 獲取數(shù)組長(zhǎng)度
NF與$NF
NF代表:瀏覽記錄的域的個(gè)數(shù)
$NF代表:最后一個(gè)Field(列)
shell數(shù)組的用法
no_partition_data_hdfs=(
"feedback"
"txtdata"
"jointable"
)
for item in no_partition_data_hdfs;do
```
done
rm -rf $test刪除某個(gè)目錄要檢查是否為空
關(guān)于rm -rf $testrm操作變量要注意:
if [ "$test"x != ""x ]; then
else
rm -rf $test//注意刪除前要檢查一下變量的值是否為空,防止刪除根目錄