- shell脚本if中判断大于、小于、等于、不等于的符号
脚本有问题,有没有哪位大佬能帮忙检查一下?
bash
#!/bin/bash
#run_num=$(squeue | grep shifting | wc -l)
run_num=`squeue | grep shifting | wc -l`
#run_num=$(squeue | grep shifting | wc -l 2>&1)
while true;do
#if [ $(echo "$run_num") -eq 0 ];then
for i in $(seq 2 9);do
name=$(printf len300_0%d $i)
cd $name || exit 1
#model_num=$(ls *model.pdb | wc -l)
model_num=$(ls -l *model.pdb 2>/dev/null | wc -l)
if [ $(echo "$model_num") -eq 1200 ];then
cd ../ || exit 1
elif [ $(echo "$model_num") -eq 0 ]&&[ $(echo "$run_num") -le 197 ];then
#filepath=$(pwd)
cd Submit
nohup python submit.py &
cd ../../
fi
done
#fi
sleep 300
done
bash
#!/bin/bash
while true; do
folder_completed=false
for i in $(seq 2 9); do
name=$(printf len300_0%d $i)
cd $name || exit 1
model_num=$(ls -l *model.pdb 2>/dev/null | wc -l)
run_num=$(squeue | grep shifting | wc -l)
if [ "$model_num" -eq 1200 ]; then
cd ../ || exit 1
folder_completed=true
break # 终止内层循环,避免继续检查其他文件夹
elif [ "$model_num" -eq 0 ] && [ "$run_num" -le 197 ]; then
cd Submit
nohup python submit.py &
cd ../../
folder_completed=true
break # 终止内层循环,避免继续检查其他文件夹
fi
#cd ../ || exit 1
done
# 如果当前文件夹已完成,就不要进行休眠和外层循环的下一次迭代
if [ "$folder_completed" = true ]; then
continue
fi
sleep 1800
done