我在FreeBSD中有一个SH脚本,我在将变量“count”传递给“For循环”时遇到问题。
如果我添加
count=1
行后
for d in $list; do
然后它工作但我需要在此“for循环”之前设置变量。 “count = 2”阻止“IF语句”在完成“for d in $ list”时第二次运行。
我认为这与本地/全局变量设置有关。但我尝试了几种组合而没有成功。
function(){
for i in $data; do
check=0
count=1
[ script lines removed (N/A) ]
if [ "$check" == "0" ]; then
[ script lines removed (N/A) ]
for d in $list; do
if [ "$VAR" == "ABC" ]; then
:
else
if [ "$count" == "1" ]; then
[ script lines removed (N/A) ]
[ THIS "IF" SECTION NEEDS TO RUN ONCE ONLY ! ]
count=2
else
:
fi
fi
done
else
:
fi
done
}
答案 0 :(得分:0)
#!/bin/bash
list="foo bar baz"
count=1
for d in $list; do
if [ $count -eq 1 ]; then
echo "Tada"
count=2
fi
echo $d
done
那么现在问题出在哪里?我没有FreeBSD来检查它,所以告诉我它是否适合你。
答案 1 :(得分:0)
count=$(cat $data | wc -l)
echo "Found count [ $count ]"
count=1
所以,我的解决方案是更改" IF语句使用的变量名称"
"计数"到" pcount"
count=$(cat $data | wc -l)
echo "Found count [ $count ]"
pcount=1
我不明白为什么重新设置第二个计数= 1,没有用?