-1

如何for do在 bash shell 中执行循环以执行某些应用程序?

我在下面有这段代码,我想运行 usb-servo 应用程序,给定 usb-servo 的值从 190 到 225,我尝试运行代码,但for do没有给出任何输出,我的伺服没有移动.

#! /bin/sh
i=190

sleep 0.4
for (( i=190;i<=225;i++ ))
do
echo my_pass | sudo -S /usr/bin/usb-servo set 0 $i
done

#echo my_pass | sudo -S /usr/bin/usb-servo set 0 195
#echo my_pass | sudo -S /usr/bin/usb-servo set 0 200
#echo my_pass | sudo -S /usr/bin/usb-servo set 0 205
#echo my_pass | sudo -S /usr/bin/usb-servo set 0 210
#echo my_pass | sudo -S /usr/bin/usb-servo set 0 215
#echo my_pass | sudo -S /usr/bin/usb-servo set 0 220
#echo my_pass | sudo -S /usr/bin/usb-servo set 0 225
4

1 回答 1

0

您的循环看起来不错,但您也可以使用范围进行尝试,看看是否打印出您想要的内容:

for i in {190..225}; do
    echo my_pass | sudo -S /usr/bin/usb-servo set 0 $i
done

如果这个和你的循环都没有打印出预期的输出,那么问题不在于循环。可能是您的usb-servo命令中的问题。

于 2012-09-06T02:47:48.843 回答