社区
Linux/Unix社区
帖子详情
在shell中如何把ls的输出存进一个数组变量中?
chensimon
2003-01-15 11:17:21
请教!在shell中可否把ls的输出存进一个数组变量中?若可,如何实现?
...全文
1977
8
打赏
收藏
在shell中如何把ls的输出存进一个数组变量中?
请教!在shell中可否把ls的输出存进一个数组变量中?若可,如何实现?
复制链接
扫一扫
分享
转发到动态
举报
AI
作业
写回复
配置赞助广告
用AI写文章
8 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
lbyoo
2003-06-24
打赏
举报
回复
加上#!/bin/ksh 试试
coffeewxp
2003-06-18
打赏
举报
回复
#!/usr/bin/sh
# set -A 设置数组
set -A FileList `ls`
# FileList
每个元素
# 注意要用{}
# 取出来到File里
for File in ${FileList
}
do
print $File
done
wenzhulz
2003-06-17
打赏
举报
回复
我试了,在 linux 上不错,但是在 solaris 上就报错,报的错误如我以上所说。
怎么办?在 Solaris 上如何使用数组?
linaxing
2003-06-17
打赏
举报
回复
估计是你solaris上的bash版本太低,不支持一维数组。可以升级一下bash。
或者非要用数组吗?应该可以用其他方式来代替吧。
blh
2003-06-16
打赏
举报
回复
no problem!! hehe
要么你该城shishi
#!/bin/bash
c=0
for file in `ls`
do
filelist[$c]=$file
c=`expr $c + 1`
done
b=0
while [ $b -lt $c ]
do
echo ${filelist[$b]}
b=`expr $b + 1`
done
linaxing
2003-06-16
打赏
举报
回复
我试过了没有错误啊?
c=0
for file in `ls`
do
filelist[$c]=$file
c=`expr $c + 1`
done
b=0
while [ $b -lt $c ]
do
echo ${filelist[$b]}
b=`expr $b + 1`
done
wenzhulz
2003-06-14
打赏
举报
回复
我按照你上面的代码,报错如下,不知怎么回事?
filelist[0]=dbtool_analyze.sh: not found
filelist[1]=dbtool_analyze_query: not found
我的目录里只有 dbtool_analyze.sh,dbtool_analyze_query 两个文件。
哪位能帮忙,需要我另开主题加分的说一声,反正我的分有 4000 用不掉。
janze
2003-01-15
打赏
举报
回复
c=0
for file in `ls`
do
filelist[$c]=$file
c=`expr $c + 1`
done
使用ksh或sh或csh通过
在
shell
中
把
ls
的
输出
存进
一个
数组
变量
中
将
ls
的
输出
存到filelist
数组
中
: c=0 for file in `
ls
` do filelist[$c]=$file ((c++)) done 注:用这种方法,如果文件名
中
有空格的话,会将
一个
文件名以空格为分隔符分成多个存到
数组
中
,最后出来的结果就是错误的。 把filelist
数组
内容
输出
到屏幕上: b=0 while [ $b -lt $c ] d
shell
把文件列表存入
数组
_在
shell
中
可否把
ls
的
输出
存进
一个
数组
变量
中
?
gogo11 于 2011-08-30 22:24:06发表:我的,顶上去!chaipeng 于 2011-08-30 14:30:54发表:暂时不懂gogo11 于 2011-08-30 11:05:52发表:[i=s] 本帖最后由 gogo11 于 2011-8-30 17:08 编辑 [/i]引用:是
一个
典型吃力不讨好的例子,很久以前在 CU 上跟你说过,人家没理解,非得说 `
ls
`这...
shell
把文件列表存入
数组
_
shell
把文件列表存入
数组
_在
shell
中
可否把
ls
的
输出
存进
一个
数组
变量
中
?...
gogo11 于 2011-08-30 22:24:06发表:我的,顶上去!chaipeng 于 2011-08-30 14:30:54发表:暂时不懂gogo11 于 2011-08-30 11:05:52发表:[i=s] 本帖最后由 gogo11 于 2011-8-30 17:08 编辑 [/i]引用:是
一个
典型吃力不讨好的例子,很久以前在 CU 上跟你说过,人家没理解,非得说 `
ls
`这种用法...
linux
shell
ls
输出
存进
数组
变量
将
ls
的
输出
存到list
中
再转存到 filelist
数组
中
: c=0 list=`
ls
` for file in $list do filelist[$c]=$file c=$[c+6] done 把filelist
数组
内容
输出
到屏幕上: b=0 while [ $b -lt $c ] do echo ${filelist[$b]} ((b++)) done #或者 ...
shell
脚本
中
实现
数组
变量
shell
数组
变量
普通
数组
:只能使用整数作为
数组
索引 关联
数组
:可以使用字符串作为
数组
索引
数组
变量
和普通
变量
的区别:最明显的曲边就是普通
变量
一次只能设置
一个
变量
值,而
数组
可以有多个值,例如普通
变量
(ip=192.168.81.210),
数组
变量
(ip=(192.168.81.210 192.168.81.220)),普通
变量
是按
一个
字符当做
一个
索引位,而
数组
变量
是
一个
字符串作为
一个
变量
,另外普通
变量
的索引位都是整数,从0开始,而
数组
变量
可以是整数也可以是字符串,这就要说到关联
数组
,例如(info=([
Linux/Unix社区
23,215
社区成员
74,541
社区内容
发帖
与我相关
我的任务
Linux/Unix社区
Linux/Unix社区 应用程序开发区
复制链接
扫一扫
分享
社区描述
Linux/Unix社区 应用程序开发区
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章