分页: 1 / 2
[问题]一个结构体和for语言的问题
发表于 : 2008-08-27 16:36
由 rabbitmc
请教各位大侠了:
在vi编辑器里的结构体的语法和在C语言下是一样吗?
[/code]#!/bin/bash
declare -i s
for(( i=0; i<100; i=$i+1 ))
do
s=s+i
done
提示for语句中变量有错误,为什么呢?
发表于 : 2008-08-27 16:45
由 eexpress
for ((
有一个空格
发表于 : 2008-08-27 16:45
由 eexpress
for ((
有一个空格吧
发表于 : 2008-08-27 16:51
由 aBiNg
for ((...)) 直接引用变量,不必用$。
这样:
代码: 全选
for((i=0;i<100;i++))
但多数bash语句引用变量得用$。
for的空格无关紧要。
发表于 : 2008-08-27 16:52
由 solcomo
没错啊
在我这可以...
发表于 : 2008-08-27 20:31
由 rabbitmc
各位大侠,我运行了,可是还是不成啊,知道原因吗?
发表于 : 2008-08-27 20:32
由 rabbitmc
还有就是想请教一下结构体的问题:在c语言下和在shell里面的语法是一样的吗?
谢谢
发表于 : 2008-08-27 20:34
由 eexpress
bash的 (())里面的,就是用c语法。
你提问,要贴出错误提示的,要不别人都是猜。
发表于 : 2008-08-27 21:57
由 rabbitmc
系统给的提示:3:Syntax error:Bad for loop variable
后来我按照各位大侠的方法都试过了,结果还是那个
发表于 : 2008-08-27 22:02
由 eexpress
☎ s=0;for((i=0;i<100;i=$i+1));do ((s=s+2));done;echo $s
200
你试试。
发表于 : 2008-08-27 22:03
由 ebok
发表于 : 2008-08-27 22:05
由 sinyadvan
dash的问题吧
代码: 全选
sudo dpkg-reconfigure dash
选NO
发表于 : 2008-08-27 22:05
由 ebok
for的(())里面用i++也可以,我试过。
发表于 : 2008-08-27 22:07
由 sinyadvan
LZ代码没错
发表于 : 2008-08-27 22:16
由 ebok
LZ应该用的是sh /path/file 执行吧?
用bash /path/file 执行是没问题的。