Proszę o wskazówkę jak zlikwidować błąd "oczekiwano operatora jednoargumentowego, błąd jest w lini formatowania zmiennej odczytu


#wartosc absolutna
abs() {
[ $1 -lt 0 ] && echo $((-$1)) || echo $1
}

#odczyt napięcia
x=0
while [ -z "$volt" ]; do
volt=/usr/local/bin/mbpoll -m rtu -a 1 -b 9600 -d 8 -s 1 -P even -o 3.00 -t 4 -r 1 -c 16 -1 /dev/ttyUSB0 | grep "[1\]:" | cut -f 2
ApacerPL - Proszę o wskazówkę jak zlikwidować błąd "oczekiwano operatora jednoargumen...

źródło: comment_EnwVITIRkOW0sEfIuroKxOXzsucb2pnR.jpg

Pobierz
witam. dziękuję za odpowiedź, próbowałem wywalić = wedle rad z googla, lecz problem ten sam, pomogło za to usunięcie spacji przed i zza = > if [ $3=int ]; then

ps
w sumie te formatowanie zmiennych jest chyba nie potrzebne, skrypt działa bez niego poprawnie
siemka mirki, szukam ogarniętego programisty w bashu, który poradzi mi jak dodać funkcję sprawdzania parametru do skryptu, a mianowicie mam skrypt odczytujący dane po modbusie z licznika, lecz jest to tak archaiczny licznik, że często transmisja jest przerywana i parametry jakie odczytuje mi program wynoszą 0 ( ͡° ͜ʖ ͡°) . Dodawałem już funkcję sleep, by umożliwić zwolenienie portu, lecz nie przyniosło to 100% efektu ( ͡°