[英]command not found in linux shell and syntax error for then while using if else
#!/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:
then'
缺少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
和[[
之间缺少空格造成的
if [[ $n -lt 0 ]]; then
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.