shell - 找不到Shell Scripting命令错误

shell - 找不到Shell Scripting命令错误,第1张

我刚开始使用shell进行编程,想知道我的代码有什么问题?

#!/bin/bash
#DHT11
SCRIPT="/var/www/ErnestynoFailai/scripts/DHT 11 4"
#DHT22
#SCRIPT="/root/to/folder/DHT 22 4"
#AM2302
#SCRIPT="/root/to/folder/DHT 2302 4"
HUMIDITY=`$SCRIPT | grep "Temp" | awk -F " " '{print }'`
TEMPRATURE=`$SCRIPT | grep "Temp" | awk -F " " '{print }'`
#-a = AND = &&
while [ $HUMIDITY=="" -a $TEMPRATURE=="" ]
do
    $HUMIDITY=`$SCRIPT | grep "Temp" | awk -F " " '{print }'`
    $TEMPRATURE=`$SCRIPT | grep "Temp" | awk -F " " '{print }'`
done

echo "$HUMIDITY"
echo "$TEMPRATURE"

我得到了:

line 14 or 15 =26: or =: command not found...

最佳答案:

2 个答案:

答案 0 :(得分:0)

必须在没有前导$的情况下分配变量:

HUMIDITY=`$SCRIPT | grep "Temp" | awk -F " " '{print }'`
TEMPRATURE=`$SCRIPT | grep "Temp" | awk -F " " '{print }'`

答案 1 :(得分:0)

有两个问题:

  1. 这些行没有返回任何内容,或者至少返回一个字符串:

    HUMIDITY=`$SCRIPT | grep "Temp" | awk -F " " '{print }'`
    TEMPRATURE=`$SCRIPT | grep "Temp" | awk -F " " '{print }'`
    
  2. 这导致=: command not found错误。

    1. 你的状况需要

      while [[ $HUMIDITY == "" && $TEMPRATURE == "" ]]
      
    2. 最后,虽然没有造成问题,但TEMPERATURE拼错了,这可能会让你后来感到悲伤。

DABAN RP主题是一个优秀的主题,极致后台体验,无插件,集成会员系统
U19学习网站 » shell - 找不到Shell Scripting命令错误