[问题]一个结构体和for语言的问题

sh/bash/dash/ksh/zsh等Shell脚本
头像
rabbitmc
帖子: 10
注册时间: 2008-07-22 20:38

[问题]一个结构体和for语言的问题

#1

帖子 rabbitmc » 2008-08-27 16:36

请教各位大侠了:
在vi编辑器里的结构体的语法和在C语言下是一样吗?
[/code]#!/bin/bash
declare -i s
for(( i=0; i<100; i=$i+1 ))
do
s=s+i
done
提示for语句中变量有错误,为什么呢?
头像
eexpress
帖子: 58428
注册时间: 2005-08-14 21:55
来自: 长沙

#2

帖子 eexpress » 2008-08-27 16:45

for ((
有一个空格
● 鸣学
头像
eexpress
帖子: 58428
注册时间: 2005-08-14 21:55
来自: 长沙

#3

帖子 eexpress » 2008-08-27 16:45

for ((
有一个空格吧
● 鸣学
aBiNg
帖子: 1331
注册时间: 2006-07-09 12:22
来自: 南京

#4

帖子 aBiNg » 2008-08-27 16:51

for ((...)) 直接引用变量,不必用$。
这样:

代码: 全选

for((i=0;i<100;i++))
但多数bash语句引用变量得用$。

for的空格无关紧要。
上次由 aBiNg 在 2008-08-27 16:55,总共编辑 1 次。
头像
solcomo
帖子: 2838
注册时间: 2007-04-25 13:12

#5

帖子 solcomo » 2008-08-27 16:52

没错啊
在我这可以...
♜♞♝♛♚♝♞♜
♟♟♟♟♟♟♟♟
♙♙♙♙♙♙♙♙
♖♘♗♕♔♗♘♖

☠☯⚔⚓☣☦☃☕
☹☻☪☭☬⚖⚛⚜
ℜℳℬ™ ℋℯℓ℘ ℳℭ
sƂɐʍ рǀɹoʍ əɥʇ oS
头像
rabbitmc
帖子: 10
注册时间: 2008-07-22 20:38

#6

帖子 rabbitmc » 2008-08-27 20:31

各位大侠,我运行了,可是还是不成啊,知道原因吗?
头像
rabbitmc
帖子: 10
注册时间: 2008-07-22 20:38

#7

帖子 rabbitmc » 2008-08-27 20:32

还有就是想请教一下结构体的问题:在c语言下和在shell里面的语法是一样的吗?
谢谢
头像
eexpress
帖子: 58428
注册时间: 2005-08-14 21:55
来自: 长沙

#8

帖子 eexpress » 2008-08-27 20:34

bash的 (())里面的,就是用c语法。
你提问,要贴出错误提示的,要不别人都是猜。
● 鸣学
头像
rabbitmc
帖子: 10
注册时间: 2008-07-22 20:38

#9

帖子 rabbitmc » 2008-08-27 21:57

系统给的提示:3:Syntax error:Bad for loop variable
后来我按照各位大侠的方法都试过了,结果还是那个
头像
eexpress
帖子: 58428
注册时间: 2005-08-14 21:55
来自: 长沙

#10

帖子 eexpress » 2008-08-27 22:02

☎ s=0;for((i=0;i<100;i=$i+1));do ((s=s+2));done;echo $s
200
你试试。
● 鸣学
头像
ebok
帖子: 852
注册时间: 2008-02-15 0:09

#11

帖子 ebok » 2008-08-27 22:03

代码: 全选

s=$(($s+$i))
Somebody think they are full of niubility, so they play a zhuangbility, but only reflect their shability.
头像
sinyadvan
帖子: 724
注册时间: 2008-04-02 15:36
来自: O_O

#12

帖子 sinyadvan » 2008-08-27 22:05

dash的问题吧

代码: 全选

sudo dpkg-reconfigure dash
选NO
^o^ && O_O && ^_^
One World|One Dream|One Piece
愛 ^_^ 這個 美麗的世界O_O

本公司专治各种不服、不爽、谩骂、挑衅。
头像
ebok
帖子: 852
注册时间: 2008-02-15 0:09

#13

帖子 ebok » 2008-08-27 22:05

for的(())里面用i++也可以,我试过。
Somebody think they are full of niubility, so they play a zhuangbility, but only reflect their shability.
头像
sinyadvan
帖子: 724
注册时间: 2008-04-02 15:36
来自: O_O

#14

帖子 sinyadvan » 2008-08-27 22:07

LZ代码没错
^o^ && O_O && ^_^
One World|One Dream|One Piece
愛 ^_^ 這個 美麗的世界O_O

本公司专治各种不服、不爽、谩骂、挑衅。
头像
ebok
帖子: 852
注册时间: 2008-02-15 0:09

#15

帖子 ebok » 2008-08-27 22:16

LZ应该用的是sh /path/file 执行吧?
用bash /path/file 执行是没问题的。
Somebody think they are full of niubility, so they play a zhuangbility, but only reflect their shability.
回复