Спасибо за то, что проголосовали за неподдельный вопрос, потому что на смутный комментарий не ответили так, как хотелось бы. Некоторые отзывы лучше, чем никаких, кажется. Всем, кто заинтересован в ответе на вопрос, я вставлю его ниже. Похоже, что моя концепция переменных была близка, но я думаю, что легче записать в файл, чем переменную.
Запись входящей команды в файл с именем task:
mosquitto_sub -h SERVER -t '/TOPIC/' >> task
затем прочитайте файл и выполните последнюю команду с помощью следующего скрипта:
NUMOFLINES=$(wc -l < task)
while :
do
NEWLINE=$(wc -l < task)
if [ "$NEWLINE" -gt "$NUMOFLINES" ]
then
NUMOFLINES=$(wc -l < task)
LASTCOMMAND=$(tail -n 1 task)
eval ./$LASTCOMMAND
fi
done