Portál AbcLinuxu, 11. listopadu 2025 05:36
#!/bin/bash
temp=$(digitemp_DS9097 -a | grep 'C:' | awk '{print $7}')
if (($temp>=29))
then
echo neco je v neporadku
else
echo je to ok
exit
fi
Musi to bejt blbost, ale uz jsem fakt vyflusanej ... z cidla me prichazi teplota ve tvaru priklad : $temp=25.56, jenze bash dokaze zpracovat jen tento format $temp=25,56. Jak by to slo obejit ?
bash umí pracovat pouze s celými čísly. Co vás mate, je skutečnost, že čárka je operátor v aritmetické expanzi (hodnotou výrazu 'A,B' je B).
${temp/./,}
temp=$(digitemp_DS9097 -a | grep 'C:' | awk '{print $7}')
echo teplota je ${temp/./,} ale podminka bere z vysledku jen to co je za ni, pr : u hodnoty 44,55 bere tu 55 grr
#!/bin/sh
temp=$(digitemp_DS9097 -a | grep 'C:' | awk '{print $7}'|tr -d '.')
if [ $temp -le 2900 ] then
echo "mensi"
else
echo "ok"
exit
fi
#!/bin/sh
temp=$(digitemp_DS9097 -a | awk '$1 == "C:" {print ($7 * 100)}')(asi ta podmínka bude chtít trošku upravit)
Tiskni
Sdílej:
ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.