繁体   English   中英

在 linux shell 中找不到命令,然后使用 if else 时出现语法错误

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM