1.变量赋值时‘=’两边不能有空格
在使用高级语言编程是,为了显示清楚,本人常常在等号两边加上空格,在shell编程时,加上空格会报错,但未必不能执行
2.使用字符串时可以不加双引号,直接使用,但是中间不能有"或者转义字符
例如: echo hello world , hello everyone
可以输出hello world,hello everyone,其效果与 echo "hello world,hello everyone"是一样的。但是如果加了转义字符就不一样了。
例如:echo hello world , $hello everyone
只会输出 hello world , everyone
如果想输出转义字符则有两种方法
(1)使用\,例如输出$,使用\$,输出", 使用\"
例如: echo hello world , \$hello everyone
则输出 hello world , $hello everyone
(2)使用' '把需要输出的内容整体包含起来
例如:echo 'hello world , $hello everyone'
则输出 hello world , $hello everyone
3.对于要执行的命令变量赋值要用反引号括起来,注意是反引号,不是单引号’ ',反引号是键盘上键Esc下面那个键,与~是 同一个键。
例如: ls=`ls`
echo $ls
则会执行ls命令,如果打成单引号,则会输出ls字符
4.中括号[]中间加空格
例如:
a=80
if [ $hello -lt 70 ]
then
echo less than 70
else
echo high than 70
fi
中括号与中括号中其他的字符或者变量等中间用空格隔开,否则报错。if后面也需要加空格,then必须换行,如果then不换行,必须用 ; 隔开
a=80
if [ $hello -lt 70 ];then
echo less than 70
else
echo high than 70
fi
5.shell中逻辑判断逻辑与用 -a,逻辑或用-o,&&和||并不是逻辑与和逻辑或,而是if判断
&&的用法:表达式1 && 表达式2
如果表达式1为真,则执行表达式2,如果表达式1为假则不执行表达式2
||的用法 :表达式1 || 表达式2
如果表达式1为假,则执行表达式2,如果表达式1为真则不执行表达式2