myShellName () {command1
}函数调用  myshellname 
变量  $myvar
如果变量的结果和其它字符串连接在一起时  为了便于区分需
要将${变量名}xxx
echo ${name}isverygood
$?:上一个命令的退出状态  0:成功   非0:失败read NUM  
echo "1+1=$NUM"
variableName="variableName"
使用一个定义过的变量,只要在变量名前面加符号$
str="hello world"
echo $str
echo ${str}  
str="hello world"  
str="hello world1"
readonly strstr="hello world1"
echo ${str}
str="hello world"
unset str 
$0  
$n  
$*   
$?    
$$   
 
 
逻辑与: 只有两个表达式都为真时,结果才为真。
command1 && command2
逻辑或:只少有一个为真,结果就为真。
command1 || command2
格式:
[ 表达式 ]    
test 表达式  -d 是否为存在的目录 -f 是否为存在的文件 -e 是否存在
[[ 表达式 ]]
test 3 -gt 2  echo $?[ 3 -gt 2 ]   echo $?
[]和内容之间一定要有空格,否则抛错。分支语句  格式一 
if  [  条件判断  ]
then
//命令
fi
格式二 
if  [  条件判断  ]; then
//命令
fi  将if反过来写,就成为fi  结束if语句  
双分支结构
if [ 条件1 ];then  
条件1成立执行,指令集1 
else
条件1不成执行指令集2 
fi
例子:
if [ $1 -gt 3 ];thenecho "$1 > 3 is true"
elseecho "$1 <= 3 is true"
fi判断用户输入的是哪个数
read -p "please input a number[1,7]:" num
case $num in
1)echo "Mon"
;;
2)echo "Tue"
;;
3)echo "Wed"
;;
4)echo "Thu"
;;
5)echo "Fir"
;;
[6-7])echo "Weekend"
;;
*)echo "please input [1,7]"
;;
esacwhile循环语句 
例子:
while true
do
uptime
sleep 2
donei=$((i+1)) 
let i=$i+1 shell 脚本检查
sh -n script.sh   -n :不执行script,仅查询语法的问题; 
 
 
将一个命令执行结果输出到一个文件中
echo “hello world”  > hello.txt   
echo "hello world" >> hello.txt   
 
 
在Shell中最常用的就是字符串和数字,字符串可使用单引号也可以使用双引号
双引号里可以有变量,单引号则原样输出
双引号里可以出现转义字符,单引号则原样输出  单引号字串中不能出现单引号,而双引可以DATE=`date`  
= 检测两个字符串是否相等,相等返回 true
!= 检测两个字符串是否相等,不相等返回 true。
-z 检测字符串长度是否为0,为0返回 true。
-n 检测字符串长度是否为0,不为0返回 true
str 检测字符串是否为空,不为空返回 true