Я новичок в написании сценариев. У меня есть датчик температуры, который дает мне температуру, если я кот файл /sys/bus/w1/devices/28-000006c5772c/w1_slave
. Выходной файл выглядит следующим образом:Bash Script division
83 01 4b 46 7f ff 0d 10 66 t=24187
Как вы можете видеть температуру в t=
24187, который я должен разделить на 1000. Мой сценарий выглядит следующим образом:
#!/bin/bash
date +%Y-%m-%d-%H-%M
s= cat /sys/bus/w1/devices/28-000006c5772c/w1_slave | grep t= | cut -d "=" -f2
x= 1000
f= echo $(($s/$x)) | bc -l
echo the actually temperature is $f
Но это Дошен Не работайте. Когда я начинаю сценарий, я получаю этот выход здесь:
2015-05-04-08-51 (date is wrong NTP not configured^^)
23687
/home/pi/RAB.sh: line 5: 1000: command not found
/home/pi/RAB.sh: line 6:/: syntax error: operand expected (error token is "/ ")
Запустите свой код через [spellcheck.net] (http://shellcheck.net). Вы не можете поместить пробел после '=' в задании – chepner
У вас будет гораздо больше шансов получить ответы, если ваш вопрос будет читабельным. Стоит тратить время на стандартный английский (правильное написание, пунктуация и т. Д.). Stack Overflow Markdown также предоставляет ряд параметров форматирования, чтобы сделать сообщения еще более удобными для чтения. Я отредактировал ваш вопрос для вас, чтобы вы могли видеть, как его можно улучшить. –
Дело со сценарием (особенно когда новое) заключается в том, что вам нужно протестировать команды в командной строке перед их написанием, поэтому в этом случае введите 'x = 1000', поэтому' echo $ x' может решить вашу проблему. но жить (делать) и учиться :) – hoss