本人shell新手,求助写一个功能

was595 2014-11-11 05:57:19

list_alldir(){
for file in $1/*
do
if [ -d $file ]; then
echo $file
list_alldir $1"/"$file 在这里递归调用
fi
done
}
list_alldir() /dev


主要是为了将/dev/ttyS* 的权限都修改,但无奈遇到问题,这代码所搜索的都是可执行权限的文件,其他权限的都找不到。
不懂如何改善
...全文
104 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
奔跑的路 2014-11-12
  • 打赏
  • 举报
回复
line3: for file in $1/* -> for file in `ls $1` if [ "$get"x = "$1/ttyS*"x ] -> if [ "$get"x = "ttyS*"x ] http://www.jb51.net/article/33971.htm
was595 2014-11-12
  • 打赏
  • 举报
回复
引用 2 楼 lsyyff23 的回复:
-c 字符设备
你能否再帮我看看这代码

#!/system/bin/sh
list_alldir(){
    for file in $1/*
    do
        if [ -c $file ]
        then
                get=$file
                if [ "$get"x = "$1/ttyS*"x ]  
                then
                        echo $file
                fi
                list_alldir $1/$file
        fi
    done
}
list_alldir /dev
目的是要找到ttyS开头的所有文件,但第8行这代码似乎不起作用,我应该怎么改?
lovzm 2014-11-11
  • 打赏
  • 举报
回复
-c 字符设备
was595 2014-11-11
  • 打赏
  • 举报
回复
第二个问题是,我如果能够指定搜索对象是ttyS*

23,121

社区成员

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

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