shell两个小问题_codestorm_新浪博客

本文分享了作者在编写Shell脚本过程中遇到的两个常见错误:一是处理变量加法运算时的语法问题;二是区分中文单引号与英文单引号的重要性。通过具体的示例代码展示了如何避免这些陷阱。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

今天尝试写shell脚本,遇到了两个小问题,一不注意就会出错,而且难以查出来。
1. 由于shell局部变量全部为字符串,所以声明了var=1(不能有空格)之后,求echo var=$var+1会返回1+1,进行转换最方便的echo var=$[$var+1],输出2。另外看到了expr有同样作用,但
echo var=`expr $var + 1`  (运算符间必须有空格,蛋疼)

2.中文单引号“’”和tab键上面的“`”不一样,如下:
  1 #!/bin/bash
  2 count=10
  3 for file in `ls /home/lyz/Desktop/`
  4 do
  5     if [ -f "$file" ]
  6     then count=`expr $count + 1`
  7     echo "$file"
  8     fi
  9 done
 10 echo "$count"
单引号不行
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值