当前时区为 UTC + 8 小时



发表新帖 回复这个主题  [ 8 篇帖子 ] 
作者 内容
1 楼 
 文章标题 : [原创]查找文件绝对路径的练习脚本
帖子发表于 : 2006-10-16 15:34 

注册: 2006-07-09 12:22
帖子: 1331
地址: 南京
送出感谢: 0 次
接收感谢: 1
$cd ~/sripts
$gedit abspath
代码:
#! /bin/bash
#File Name: ~/scripts/abspath
#Author:     helo_aBiNg
#Written:    06.10.16
#
if test $# != 1
    then
           echo "Usage: abspath [one file]"
           exit 1
     else   
           sub_path=(`find $(pwd) -name $1`)     #数组赋值
fi
N=${#sub_path[*]}     #数组维数
if [ $N = 0 ]
     then
            echo "result: No such file in current directory"
            exit 1
     else
            m=0
            while test ${#sub_path[*]} != $m && test -f ${sub_path[m]}     #判断不同路径相同文件名输出次数,并排除同名文件夹
            do       
                echo "${sub_path[m]}"
                m=`expr $m + 1`
            done
fi
exit 0

Save it!
$chmod +x ~/sripts/abspath
$sudo ln -s ~/sripts/abspath /usr/bin/

Try to run it:
$cd /usr
$abspath beryl
>/usr/bin/beryl


页首
 用户资料  
 
2 楼 
 文章标题 :
帖子发表于 : 2006-10-17 15:51 
头像

注册: 2005-08-14 21:55
帖子: 58428
地址: 长沙
送出感谢: 4
接收感谢: 272
不如locate和type :lol:


_________________
● 鸣学


页首
 用户资料  
 
3 楼 
 文章标题 :
帖子发表于 : 2006-10-17 15:55 
头像

注册: 2005-08-14 21:55
帖子: 58428
地址: 长沙
送出感谢: 4
接收感谢: 272
不如locate和type :lol:


_________________
● 鸣学


页首
 用户资料  
 
4 楼 
 文章标题 :
帖子发表于 : 2006-10-17 19:23 

注册: 2006-07-09 12:22
帖子: 1331
地址: 南京
送出感谢: 0 次
接收感谢: 1
eexpress 写道:
不如locate和type :lol:

还有:
$find $(pwd) -name xxx

练习嘛,没实际意义的... :lol:


页首
 用户资料  
 
5 楼 
 文章标题 :
帖子发表于 : 2006-10-17 19:38 
头像

注册: 2005-08-14 21:55
帖子: 58428
地址: 长沙
送出感谢: 4
接收感谢: 272
:lol:
不如这样简单。
[ -z $1 ] && echo “xxxx” && exit 1;


_________________
● 鸣学


页首
 用户资料  
 
6 楼 
 文章标题 :
帖子发表于 : 2006-10-18 14:14 

注册: 2006-07-09 12:22
帖子: 1331
地址: 南京
送出感谢: 0 次
接收感谢: 1
eexpress 写道:
:lol:
不如这样简单。
[ -z $1 ] && echo “xxxx” && exit 1;


这个是什么道理呢? :roll:


页首
 用户资料  
 
7 楼 
 文章标题 :
帖子发表于 : 2006-10-21 19:42 

注册: 2006-09-15 19:14
帖子: 87
送出感谢: 0 次
接收感谢: 0 次
代码:
[ -z $1 ] && echo "Usage : [filename]"  && exit 1
  sub_path=(`find $(pwd) -name $1 `)
 N=${#sub_path[*]}     #数组维数
  [ $N = 0 ] && echo "result: No such file in current directory" && exit 1
   m=0
   while test ${#sub_path[*]} != $m && test -f ${sub_path[m]}   
   do       
       echo "${sub_path[m]}"
             m=`expr $m + 1`
  done
 exit 0


页首
 用户资料  
 
8 楼 
 文章标题 :
帖子发表于 : 2006-11-06 10:59 

注册: 2006-11-06 10:25
帖子: 8
送出感谢: 0 次
接收感谢: 0 次
我没有看懂具体是什么意思....

如果是要遍历的话,为什么不用递归函数呢?
例如:

代码:
fun()
{
        local i
        local path=$PWD
        for i in `ls`;do
                if [ -d $i ] ;then
                        cd $i
                        fun
                        cd $path
                else
                        command $i
                fi
        done
}


如果不是遍历结构的话,那么都有对应命令的吧.....


页首
 用户资料  
 
显示帖子 :  排序  
发表新帖 回复这个主题  [ 8 篇帖子 ] 

当前时区为 UTC + 8 小时


在线用户

正在浏览此版面的用户:没有注册用户 和 2 位游客


不能 在这个版面发表主题
不能 在这个版面回复主题
不能 在这个版面编辑帖子
不能 在这个版面删除帖子
不能 在这个版面提交附件

前往 :  
本站点为公益性站点,用于推广开源自由软件,由 DiaHosting VPSBudgetVM VPS 提供服务。
我们认为:软件应可免费取得,软件工具在各种语言环境下皆可使用,且不会有任何功能上的差异;
人们应有定制和修改软件的自由,且方式不受限制,只要他们自认为合适。

Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
简体中文语系由 王笑宇 翻译