Возвращаем переменную с сайта Bash команда - PullRequest
0 голосов
/ 24 марта 2020

Раньше у меня был скрипт, который в основном возвращал текущую температуру с сайта. Это было сделано с помощью wget, а затем awk, чтобы вернуть «Температуру» в качестве переменной, затем я использовал sox для создания файла, говорящего о том, что температура и т. Д. c.

Сайт изменился, и у меня возникли проблемы с пишу это.

Вот что у меня есть:


URL='https://wttr.in/rhyl'

temp="wget -q  -O- "$URL" | awk -F\' 'data-value/{print $1 }'| head -1)"

sox -V1 -c 1  silence.wav  base.wav $temp.wav temp-dry.wav

sox -V1 -m temp-bed2.wav temp-dry.wav tempfx.wav
sox -V1 tempfx.wav tempfx+15db.wav vol 9 db
sox -V1 temp-dry.wav temp-dry+10db.wav vol 10 db

Я доволен битом sox до сих пор, я просто не могу вернуть переменную, т.е. "12" от температуры section of wttr.in

Желаемый вывод $ temp - просто число без специальных символов, т.е. $ temp = 12

Ответы [ 2 ]

1 голос
/ 25 марта 2020

temp="wget..." просто хранит строку "wget..." в переменной temp, она не выполняет команду wget..., если это именно то, что вы намеревались, тогда вы должны вместо этого делать temp="$(wget...)". Попробуйте temp="$date"; echo "$temp" против temp="$(date)"; echo "$temp", чтобы увидеть разницу.

0 голосов
/ 29 марта 2020

Это версия bash файла, который обновляет и аудио файл для текущей температуры, для звона радиостанции.

#/////Get weather for where you want thanks to  User3439894 and Bengamin W. /////

    temp="$(curl -s https://wttr.in/rhyl?format=%t | grep -Eo [0-9]+)"

#   ////use sox to make the dry file outof pre-defind wav files/////

    sox -V1 -c 1  silence.wav  base.wav $temp.wav temp-dry.wav

#  //// Here I use sox again to create a wav file with start and end jingle /////

    sox -V1 -m temp-bed2.wav temp-dry.wav tempfx.wav

#     //// Using sox again I boost the audio by what is required 15db and 10 db///

     sox -V1 tempfx.wav tempfx+15db.wav vol 9 db
     sox -V1 temp-dry.wav temp-dry+10db.wav vol 10 db

Затем я использую crontab для запуска этого скрипта bash в качестве cronjob .

спасибо всем

Алекс

...