shell中数学表达式执行不成功

在我的shell中用到了如下的数学计算,但是执行不成功(ubuntu)
((T=1+1))
echo $T
let OPTIND=OPTIND-1
echo $OPTIND
echo "$[ $OPTIND-1 ]"
经过多方查找原来是shell不同,shell的种类很多,支持的命令也不一定想同。
用以下的指令查看我PC的sh是dash,ubuntu默认shell为dash。
$ type sh
sh 已经被散列 (/bin/sh)
$ ls /bin/sh -al
lrwxrwxrwx 1 root root 4 2010-08-11 01:48 /bin/sh -> dash

但是我写的shell是基于bash的,所以将shell解释器改变一下就ok。
两种方法解决这个问题:
1.修改shell脚本
将shell脚本的顶部的:
#!/bin/sh
修改为:
#!/bin/bash

2.修改PC系统下的sh链接,将链接指定的bash
ln -s /bin/bash /bin/sh
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值