У меня есть простой сценарий, который я написал для игры.Этот скрипт вызывается из ~ / .profile в домашнем каталоге пользователя игры и должен имитировать поддельный логин, который запускает другой скрипт после успешного сравнения двух переменных.Это работало некоторое время, а затем внезапно перестало работать.(Правка: когда я имею в виду, что он перестал работать, я не имею в виду, что я что-то изменил, и он все испортил, я имею в виду, что он перестал работать после того, как не прикоснулся к нему в течение ночи.)
#!/bin/bash
pause(){
read -p "Place [CARD] on scanner and press [ENTER] key..."
}
init(){
cat /etc/issue
pause
READ=`sudo ~/bin/Read.py`
CARD=`cat ~/var/keycode.txt`
if [ "$READ" == "$CARD" ]; then
~/bin/mmenu.sh
else
echo "Incorrect... Please try again"
fi
}
while true
do
init
done
Что яделать неправильно?Заранее спасибо.
Редактировать: вывод Read.py равен 12345, а вывод cat keycode.txt - 12345, но, похоже, он не сможет их правильно сравнить.
Сценарий отключен, файл Read.py не печатается, просто записывает его содержимое в файл с именем rcard.txt, и обе переменные выглядят так:
CARD=`cat ~/var/kcard.txt`
READ=`cat ~/var/rcard.txt`
Попробуйте, как я мог,даже с ["$ READ" == "$ CARD"] все равно не выполняется оператор if.Даже с содержанием точно так же.Я действительно не понимаю.