#!/bin/bash
read n
sd=0
rev=0
if[[ $n -lt 0 ]];
then
echo "Not a positive number"
else
while [[ $n -gt 0 ]]
do
sd=$(( $n % 10 ))
rev=`expr $rev \* 10 + $sd`
n=$(( $n /10 ))
done
echo $rev
.scriptprog4.sh: 第6行: if[[ 123 -lt 0 ]]: 命令未找到.scriptprog4.sh: 第7行: 意外标记附近的语法错误。then'
./scriptprog4.sh: line 7:
那么
有一个缺失 fi
语句(强烈建议将代码缩进)。这是一个工作脚本。
#!/bin/bash
read n
sd=0
rev=0
if [[ $n -lt 0 ]]
then
echo "Not a positive number"
else
while [[ $n -gt 0 ]]
do
sd=$(( $n % 10 ))
rev=`expr $rev \* 10 + $sd`
n=$(( $n /10 ))
done
fi
echo $rev
和一个执行。
$ ./scriptprog4.sh
123
321
.scriptprog4.sh: 第6行: if[[[ 123 -lt 0 ]]: 命令未找到。
是由于 if
和 [[
这两个词在bash中都是保留词,必须用空格隔开。
if [[ $n -lt 0 ]]; then