如何在 bash shell 中执行 for do
循环来执行某些应用程序?
我有下面的代码,我想运行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
最佳答案
您的循环看起来不错,但您也可以使用范围进行尝试,看看是否打印出您想要的内容:
for i in {190..225}; do
echo my_pass | sudo -S /usr/bin/usb-servo set 0 $i
done
如果这个循环和您的循环都没有打印出预期的输出,则问题不在于循环。可能是您的 usb-servo
命令存在问题。
关于linux - 在 bash shell 上循环 "for..do",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12292230/