Linux伊甸园论坛 » Shell编程 » 关于for 的问题。
注册会员
注册用户
查看详细资料
TOP
clark
版主
Clark J. Wang
查看个人网站
-(dearvoid@LinuxEden:Forum)-(~/tmp)- [21643 0] ; v=hello -(dearvoid@LinuxEden:Forum)-(~/tmp)- [21643 0] ; v=hello world bash: world: command not found -(dearvoid@LinuxEden:Forum)-(~/tmp)- [21643 127] ; v="hello world" -(dearvoid@LinuxEden:Forum)-(~/tmp)- [21643 0] ; bye
超级版主
荣誉版主
原帖由 li-jiahuan 于 2007-8-22 01:19 发表 想起有人曾说要尽量用单引号而不是双引号 理由是用双引号时shell会尝试变量替换(expan) 从而速度要稍微慢上一点点。。。
-(dearvoid@LinuxEden:Forum)-(~/tmp)- [21637 0] ; cat foo.sh #!/bin/bash N=20000 time { for ((i = 0; i < N; ++i)); do echo '0123456789' > /dev/null; done; } time { for ((i = 0; i < N; ++i)); do echo "0123456789" > /dev/null; done; } -(dearvoid@LinuxEden:Forum)-(~/tmp)- [21637 0] ; ./foo.sh real 0m2.223s user 0m1.484s sys 0m0.740s real 0m2.339s user 0m1.760s sys 0m0.580s -(dearvoid@LinuxEden:Forum)-(~/tmp)- [21637 0] ; ./foo.sh real 0m2.226s user 0m1.592s sys 0m0.620s real 0m2.300s user 0m1.732s sys 0m0.568s -(dearvoid@LinuxEden:Forum)-(~/tmp)- [21637 0] ; ./foo.sh real 0m2.138s user 0m1.628s sys 0m0.508s real 0m2.718s user 0m1.744s sys 0m0.524s -(dearvoid@LinuxEden:Forum)-(~/tmp)- [21637 0] ; bye