電流量、距離(フィート)、許容電圧降下を考慮して必要な電線ゲージを計算する関数を構築しています。
この値が与えられたら、「円形小麦」を計算することができ、そこから次のようになります。AWGの要件。私は丸い小麦を彼らの尊敬された仕様と比較する大きな声明を作り始めましたが、これは正しいツールだとif
elif
思います。case
数字を比較するケースが見つからなかったので、次のようにできるかどうか疑問に思います。
what.gauge () {
let cmils=11*2*$1*$2/$3
let amils=17*2*$1*$2/$3
case $cmils in
320-403)
cawg="25 AWG"
;;
404-509)
cawg="24 AWG"
;;
510-641)
cawg="23 AWG"
;;
etc...
}
ベストアンサー1
POSIXシェル
算術テストを探していますが、ケースは算術を実行しないので、これはif-then
自然なアプローチのようです。
if [ "$cmils" -lt 320 ]
then
cawg="??"
elif [ "$cmils" -le 403 ]
then
cawg="25 AWG"
elif [ "$cmils" -le 509 ]
then
cawg="24 AWG"
elif [ "$cmils" -le 641 ]
then
cawg="23 AWG"
fi
クリティカルのみ発生
私はポータブルソリューションを好むが、一部の人々はbashの算術構文が好きです。
if ((cmils < 320))
then
cawg="??"
elif ((cmils <= 403))
then
cawg="25 AWG"
elif ((cmils <= 509))
then
cawg="24 AWG"
elif ((cmils <= 641))
then
cawg="23 AWG"
fi
POSIX構文よりも強力ですが、脆弱です。理由を理解するには、設定後にこのコードを試してくださいcmils=cmils
。