引号
- 单引号
单引号里的任何字符都会原样输出,单引号字符串中的变量是无效的;
单引号字串中不能出现单引号(对单引号使用转义符后也不行)。 - 双引号
双引号里可以有变量
双引号里可以出现转义字符 - 不加引号:
不会将含有空格的字符串视为一个整体输出, 如果内容中有命令、变量等,会先把变量、命令解析出结果,然后在输出最终内容来,如果字符串中带有空格等特殊字符,则不能完整的输出,需要改加双引号,一般连续的字符串,数字,路径等可以用。
shell脚本与hive查询中的变量设置//www.greatytc.com/p/6a14c80d96d7
常见变量
$# 传递给脚本或函数的参数个数。
$0 当前脚本的文件名
$? 可以获取上一个命令的退出状态。所谓退出状态,就是上一个命令执行后的返回结果,0代表正常输出。
length=${#array[@]} 获取数组长度
NF与$NF
NF代表:浏览记录的域的个数
$NF代表:最后一个Field(列)
shell数组的用法
no_partition_data_hdfs=(
"feedback"
"txtdata"
"jointable"
)
for item in no_partition_data_hdfs;do
```
done
rm -rf $test删除某个目录要检查是否为空
关于rm -rf $test
rm操作变量要注意:
if [ "$test"x != ""x ]; then
else
rm -rf $test//注意删除前要检查一下变量的值是否为空,防止删除根目录