shell 中 if 条件里多次用到同一个 for 方法,怎么把它抽取出来,这样显示简洁?

path=/update/to.sh
read plic
echo "更新:$plic 服务"
if [ "$plic" = "cap" ]; then
for loop in 86 87 94 96 105
do
echo "更新应用IP为:172.16.10.$loop"
rsh -l root 172.10.1.$loop $path $plic
done
fi
if [ "$plic" = "dap" ]; then
for loop in 86 87 90 105
do
echo "更新应用IP为:172.16.10.$loop"
rsh -l root 172.10.1.$loop $path $plic
done
fi

如果用函数方法,又怎么定义和调用呢?因为涉及到二个随机变的变量。

第1个回答  2019-10-22
两个IF可以合并为一个,使用OR逻辑:
if [ "$plic" = "dap" -o "$plic" = "cap" ]; then追问

不同的 if 下的for 语句 下的dap cap 下给的变量loop不一样哦。

追答

for里面也是使用的$plic呀

本回答被网友采纳
第2个回答  2019-10-22
当然是定义function了追问

不同的 if 下的for 语句 下的dap cap 下给的变量不一样哦。function 怎么定义?

追答

变量就是function的参数,你自己查一下啊

相似回答