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