| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 497 人关注过本帖
标题:请教一个linux下shell脚本编程的小问题
只看楼主 加入收藏
beacher
Rank: 1
来 自:China
等 级:新手上路
帖 子:7
专家分:0
注 册:2011-5-11
结帖率:100%
收藏
已结贴  问题点数:20 回复次数:6 
请教一个linux下shell脚本编程的小问题
我准备写一个有新邮件自动发出消息提醒的脚本,其中有这样一段代码:
程序代码:
# parameters 是一个参数串
index=0
for  split  in $parameters
do
        array[$index] = $split
        let index++
done


错误提示如下:
array[0]:command not find
array[1]:command not find
array[2]:command not find
array[3]:command not find
搜索更多相关主题的帖子: 编程 command linux 
2011-07-07 18:17
pangding
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
来 自:北京
等 级:贵宾
威 望:94
帖 子:6784
专家分:16751
注 册:2008-12-20
收藏
得分:20 
=号的前后不能有空格。
2011-07-07 23:43
ansic
Rank: 14Rank: 14Rank: 14Rank: 14
来 自:恍惚窈冥
等 级:城市猎人
帖 子:1543
专家分:5367
注 册:2011-2-15
收藏
得分:0 
楼上正解! 因为shell在解析命令行参数的时候,是以空格,分号,回车,TAB作为界定符的。
或许这样好一点;
程序代码:
index=0
for split in "$parametes";do 
    array[$index]=$split
    index++
done

善人者,不善人之师;不善人者,善人之资。不贵其师,不爱其资,虽智大迷。
2011-07-07 23:52
pangding
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
来 自:北京
等 级:贵宾
威 望:94
帖 子:6784
专家分:16751
注 册:2008-12-20
收藏
得分:0 
数组初始化还有另外一些写法,总之就是利用 array=(...) 这个语法。
功能也比较有限,主要看楼主有没有需要。我给个例子吧:
$ PARA1="one two three four five"
$ ARRAY1=($PARA1)
$ declare -p ARRAY1
$
$ PARA2=(1 2 3 4 5)
$ ARRAY2=(${PARA2[星号]})
$ declare -p ARRAY2


那个星号的位置,用 * 代替。
感觉这东西的语法好像好像和论坛的排版器冲突,至少在我这显示的怪怪的。

这个特性可能 bash 特有的。我不太确定。如果要求移植,楼主最好再去查查手册。

[ 本帖最后由 pangding 于 2011-7-8 00:32 编辑 ]
2011-07-08 00:26
beacher
Rank: 1
来 自:China
等 级:新手上路
帖 子:7
专家分:0
注 册:2011-5-11
收藏
得分:0 
以下是引用pangding在2011-7-7 23:43:21的发言:

=号的前后不能有空格。



恩,是这个原因。结贴

大牛-->自食其力.
2011-07-08 08:31
Devil_W
Rank: 10Rank: 10Rank: 10
等 级:青峰侠
威 望:9
帖 子:1160
专家分:1797
注 册:2009-9-14
收藏
得分:0 
以下是引用ansic在2011-7-7 23:52:45的发言:

楼上正解! 因为shell在解析命令行参数的时候,是以空格,分号,回车,TAB作为界定符的。
或许这样好一点;
index=0
for split in "$parametes";do
    array[$index]=$split
    index++
done



看到你的帖子,我就无能为力的免不了想抨击你..
2011-07-08 09:26
ansic
Rank: 14Rank: 14Rank: 14Rank: 14
来 自:恍惚窈冥
等 级:城市猎人
帖 子:1543
专家分:5367
注 册:2011-2-15
收藏
得分:0 
以下是引用Devil_W在2011-7-8 09:26:12的发言:




看到你的帖子,我就无能为力的免不了想抨击你..


善人者,不善人之师;不善人者,善人之资。不贵其师,不爱其资,虽智大迷。
2011-07-08 09:32
快速回复:请教一个linux下shell脚本编程的小问题
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.023642 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved