在shell中如何把ls的输出存进一个数组变量中?

chensimon 2003-01-15 11:17:21
请教!在shell中可否把ls的输出存进一个数组变量中?若可,如何实现?
...全文
1977 8 打赏 收藏 转发到动态 举报
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通过

23,215

社区成员

发帖
与我相关
我的任务
社区描述
Linux/Unix社区 应用程序开发区
社区管理员
  • 应用程序开发区社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧