Re: 循环计数
发表于 : 2009-08-09 12:04
什么叫"放不到里面"syfnet 写了:已经在循环之中,这个循环语句好像放不到里面。O_O_BOT 写了:irc <iNutshell> say: for i in `seq 100` ; do echo $i ; done
我想定义一个变量,每执行一个循环便使这个变量+1,然后显示这个变量。
也许你的bash版本不够新不支持这种语法。syfnet 写了:roylez的方法不行。我放到循环后,执行结果显示了{1..100}。roylez 写了:代码: 全选
for i in {1..100} ; do echo $i ; done
怎么回事?
代码: 全选
roylez@Lancelot:~/workspace/ib/prog$ bash --version
GNU bash, version 4.0.28(2)-release (i686-pc-linux-gnu)
Copyright (C) 2009 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software; you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.
这个语句是这么放到我的脚本中吗?BigSnake.NET 写了:什么叫"放不到里面"syfnet 写了:已经在循环之中,这个循环语句好像放不到里面。O_O_BOT 写了:irc <iNutshell> say: for i in `seq 100` ; do echo $i ; done
我想定义一个变量,每执行一个循环便使这个变量+1,然后显示这个变量。
代码: 全选
for f in ZI*.pd; do
b=`basename $f .pdbqt`
[color=#0000FF]echo Processing ligand $b[/color]
do echo $i
mkdir -p $b
vv --config conf --ligand $f --out ${b}/out.pdbqt --log ${b}/log.txt
rm $b.pdbqt
done
roylez 写了:i=1
for f in ZI*.pd; do
b=`basename $f .pdbqt`
echo Processing ligand $b
echo $i
i=$((i+1))
mkdir -p $b
vv --config conf --ligand $f --out ${b}/out.pdbqt --log ${b}/log.txt
rm $b.pdbqt
done
syfnet 写了:roylez 写了:i=1
for f in ZI*.pd; do
b=`basename $f .pdbqt`
echo Processing ligand $b
echo $i
i=$((i+1))
mkdir -p $b
vv --config conf --ligand $f --out ${b}/out.pdbqt --log ${b}/log.txt
rm $b.pdbqt
done终于成功。学习了。还望推荐一个编译功能比较全面的linux,这个ubuntu编译我的很多必需程序都告失败。
显然有问题啊.. 怎么会有两个 dosyfnet 写了:这个是别人编好的可用的脚本。在蓝色的字下面一行我要显示进行到第几个循环,如何写进去?代码: 全选
for f in ZI*.pd; do b=`basename $f .pdbqt` [color=#0000FF]echo Processing ligand $b[/color] do echo $i mkdir -p $b vv --config conf --ligand $f --out ${b}/out.pdbqt --log ${b}/log.txt rm $b.pdbqt done