Как я могу использовать bash для сканирования определенной строки символов в текстовом файле, а затем использовать оператор if then для выполнения определенной команды в зависимости от строки?Я пытаюсь использовать rsync для резервного копирования некоторых малиновых пис из строки запроса, выводимой из формы HTML.У меня минимальный опыт работы с bash, и я уже несколько дней копаюсь и подталкиваю этот код, и я хотел бы получить совет.
QUERY_STRING будет содержать что-то похожее на «Backup_To_Comp = tasting-side_backup & subbtn = Submit» с «Tasting»-side_backup "заменяется на другие радиальные теги кнопок, как выбрано.
#!/bin/bash
echo "Content-type: text/html"
echo ""
echo "$QUERY_STRING" > /var/www/cgi-bin/scan.txt
BackupToCompFrom=`echo "$QUERY_STRING" | sed -n 's/^.*Backup_To_Comp=\([^&]*\).*$/\1/p' | sed "s/%20/ /g"`
echo "<html><head><title>What You Said</title></head>"
echo "<body>Here's what you said:"
echo "You entered $BackupToCompFrom in from field."
sleep 1
file="/var/www/cgi-bin/scan.txt"
##echo "$QUERY_STRING"
while IFS='' read -r line || [[ -n "$line" ]];
do
if [[ $line = "tasting-side_backup" ]]; then
echo "GotIt."
rsync pi@192.168.1.1:/home/pi/screenly_assets /home/pi/Downloads
elif [[ $line = "~tasting-main"* ]]; then
print "Tasting Main"
elif [[ $line = "~lodge"* ]]; then
print "Lodge"
elif [[ $line = "~barn"* ]]; then
print "Barn"
else
print "Please select a pi to copy from!"
fi
done