当我运行我的bash脚本时,我收到错误:语法错误接近意外令牌`done'。
我不知道为什么。我是一个新的编程,我已经尝试了很多googleing但它只是doesend工作。我希望你们其中一个人能看出出了什么问题。
该代码适用于树莓派。它必须读取一张nfc卡,当卡的id在allowed_tags.txt中时,它应该写gpio 0到1
代码:
#!/bin/bash
FILENAME='/home/pi/door_basher/allowed_tags.txt'
LOGNAME='/home/pi/door_basher/access_log.txt'
gpio mode 0 out
gpio write 0 0
while true; do
TIMESTAMP=`date`
NFC=$(nfc-poll 2>&1 |grep "UID")
if [ $? -eq 0 ] ; then
CARDID=$(echo $NFC|cut -f2 -d ":"|sed -e 's/[ \t]//g')
NAME=$(egrep "^$CARDID" $FILENAME)
if [ $? -eq 0 ] ; then
NAME=$(egrep "^$CARDID" $FILENAME|awk -F $'\t' '{ print $2;}')
echo "$TIMESTAMP ALLOW $NAME ($CARDID)" | tee -a $LOGNAME
gpio write 0 1
sleep 10
gpio write 0 0
else
echo "$TIMESTAMP DENIED $NAME ($CARDID)" | tee -a $LOGNAME
sleep 2
fi
fi
done