Перезапустите гаечный ключ, когда данные устареют, USB-устройство постоянно меняется.

Да, вы можете использовать встроенное в bash арифметическое расширение $ (()) для выполнения простых вычислений.

Для умножения:

echo $(( 6 * 7 ))

Результат

42

И ваш сценарий будет выглядеть так:

#!/ in/bash

for i in 1 2 3 4 5 6 7 8 9

do

    for j in 1 2 3 4 5 6 7 8 9
    do
            if [ $j -le $i ]
            then
                    echo -ne "$i"X"$j"=$(($i * $j)) "\t"
            else
                    echo
                            break
            fi
            done
    done
echo -ne "\n"

2
05.01.2017, 21:54
1 ответ

Я кое-что придумал... поскольку моя проблема была связана с изменением USB-устройства, а у меня уже было правило udev выше, я добавил к нему оператор RUN так:

ACTION=="add", \                                                                                       
SUBSYSTEM=="usb", \                                                                                    
ATTR{idVendor}=="0665", ATTR{idProduct}=="5161", \                                                     
SYMLINK+="powerwalkerups", \                                                                           
MODE="0660", GROUP="nut", \                                                                            
RUN+="/bin/systemctl restart nut-driver"

Это перезапускает nut-driver не тогда, когда данные становятся несвежими, а когда USB-устройство снова подключается (или как вы называете то, что он делает). Похоже, это решило проблему.

0
27.01.2020, 22:43

Теги

Похожие вопросы