#!/bin/bash
fb(){
if [ $a -le 2 ]
then echo 1
else
declare -i c=$a-2+$a-1
echo $c
fi
}
for a in `seq 1 15`
do
fb $a
done
这里有个问题尚未解决,就是如果第三行的条件写成
[ $a -eq 1 || $a -eq 2 ]
然后第6行如果我使用expr函数写成
expr `$a - 2 + $a - 1`
然后把第7行删了
结果输出的为
[root@localhost rjgc]# bash s.sh
s.sh: 第 3 行:[: 缺少 `]'
s.sh:行3: 1: 未找到命令
s.sh:行5: 1-2+1-1: 未找到命令
expr: 缺少操作数
Try 'expr --help' for more information.
s.sh: 第 3 行:[: 缺少 `]'
s.sh:行3: 2: 未找到命令
s.sh:行5: 2-2+2-1: 未找到命令
expr: 缺少操作数
Try 'expr --help' for more information.
s.sh: 第 3 行:[: 缺少 `]'
s.sh:行3: 3: 未找到命令
s.sh:行5: 3-2+3-1: 未找到命令
expr: 缺少操作数
Try 'expr --help' for more information.
s.sh: 第 3 行:[: 缺少 `]'
s.sh:行3: 4: 未找到命令
s.sh:行5: 4-2+4-1: 未找到命令
expr: 缺少操作数
Try 'expr --help' for more information.
s.sh: 第 3 行:[: 缺少 `]'
s.sh:行3: 5: 未找到命令
s.sh:行5: 5-2+5-1: 未找到命令
expr: 缺少操作数
Try 'expr --help' for more information.
s.sh: 第 3 行:[: 缺少 `]'
s.sh:行3: 6: 未找到命令
s.sh:行5: 6-2+6-1: 未找到命令
expr: 缺少操作数
Try 'expr --help' for more information.
s.sh: 第 3 行:[: 缺少 `]'
s.sh:行3: 7: 未找到命令
s.sh:行5: 7-2+7-1: 未找到命令
expr: 缺少操作数
Try 'expr --help' for more information.
s.sh: 第 3 行:[: 缺少 `]'
s.sh:行3: 8: 未找到命令
s.sh:行5: 8-2+8-1: 未找到命令
expr: 缺少操作数
Try 'expr --help' for more information.
s.sh: 第 3 行:[: 缺少 `]'
s.sh:行3: 9: 未找到命令
s.sh:行5: 9-2+9-1: 未找到命令
条件判断完全失效,expr也成了存粹的字符串输出,那位大佬看见了能否指点一下吖!