這個問題在這里已經有了答案: sh 和 Bash 之間的區別 11 個答案 昨天關門。
我需要將 BASH 腳本轉換為 SH:
#!/bin/bash
upper_limit=1500
lower_limit=1
middle=750
while [[ $lower_limit != $middle ]]
do
ping -M do -s $middle -c 1 8.8.8.8 &> /dev/null
if [ $? == "0" ]
then
lower_limit=$middle
else
upper_limit=$middle
fi
middle=$(( ($upper_limit $lower_limit) / 2 ))
done
echo $middle
當我只是更改為#!/bin/sh我有一個錯誤:
./test.sh: 6: [[: not found
看不懂,怎么回事。感謝幫助。
uj5u.com熱心網友回復:
這可能是你想要的(我堅持你的風格)
upper_limit=1500
lower_limit=1
middle=750
while ! [ $lower_limit = $middle ]
do
ping -M do -s $middle -c 1 8.8.8.8 > /dev/null 2>&1
if [ $? = "0" ]
then
lower_limit=$middle
else
upper_limit=$middle
fi
middle=$(( ($upper_limit $lower_limit) / 2 ))
done
echo $middle
轉載請註明出處,本文鏈接:https://www.uj5u.com/ruanti/509829.html
標籤:重击while循环嘘
上一篇:檔案后綴不匹配的Glob
