#!/bin/bash
command="stop"
while :
do
QUESTION=$(cat stt.txt) #stt,txt has command "stop"
echo $QUESTION
echo $command
if [ "$QUESTION" == "$command" ]; then
echo "You said $command"\!
break
fi
done
Я внес два изменения в ваш сценарий.
Все строки, вводимые непосредственно в скрипты для использования в переменных, должны быть заключены в кавычки, иначе bash попытается интерпретировать их как команды. Таким образом, это недопустимый способ объявления переменной command со строковым значением stop.
command = stop
Это допустимый способ.
command = "stop"
Также bash попытается интерпретировать ваш! когда вы пытаетесь вспомнить событие, вам нужно будет поместить его вне кавычек и избежать его.
echo "Вы сказали $ command" \!