shell语法中的空格和分号,引号

分号:

分号是多个语句之间的分隔符号,当只有一个语句的时候,末尾无需分号,最后一个语句后面也无需分号。

空格详解:

1.定义变量时, =号的两边不可以留空格

gender=femal————right
gender =femal———–wrong
gender= femal———–wrong
gender= test————right 左边是命令的话=号的右边有空格是正确的=左边不能有空格
gender = test  ———wrong  等号=左边不能要有空格

2.条件测试语句 [ 符号的两边都要留空格.

eg:
if [ $gender = femal ]; then——-right.
echo “you are femal”;
fi
 
if[ $gender...-----------------------wrong
if [$gender...----------------------wrong.

3.条件测试的内容,如果是字符串比较的话, 比较符号两边要留空格!

eg:
if [ $gender = femal ]; then——-right.
if [ $gender= femal ]; then——–wrong.
if [ $gender=femal ]; then———wrong.

4.如果if 和 then写在同一行, 那么,注意, then的前面要跟上 ; 号.如果 then 换行写, 那么也没问题,if 后面一定要跟上 then. 同理elif 后面一定要跟上 then

eg:
if [ $gender = femal ]; then——-right.
if [ $gender = femal ]
then——————————-right.
if [ $gender = femal ] then——-wrong. then前面少了 ; 号.
提示出错信息:
syntax error near unexpected token then
同理,还有很多出错信息 比如
syntax error near unexpected token fi 等都是这样引起的.

5 取变量值的符号'$'和后边的变量或括号不能有空格

6 单引号和双引号区别

单引号中是原始字符串,属于强引用,它会忽略所有被引起来的字符的特殊处理,被引用起来的字符会被原封不动的使用,唯一需要注意的点是不允许引用自身​​​​​​​
双引号可以对特殊字符进行扩展,属于弱引用,它会对一些被引起来的字符进行特殊处理。双引号与单引号的区别在于其可以包含特殊字符(单引号直接输出内部字符串,不解析特殊字符;双引号内则会解析特殊字符),包括', ", $, \,如果要忽略特殊字符,就可以利用\来转义,忽略特殊字符,作为普通字符输出

a=bcdef
echo "$a" #双引号将进行变量扩展 ,输出bcdef
echo '$a' #单引号直接输出$a

点击此处了解Linux中特殊符号

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值