Shell-文件查找!!菜鸟苏苏的探索之路

题目描述

实现一个脚本,可以在指定的目录下查找某个文件/目录。
 如果找到该文件/目录,显示其完整路径名
 如果找到多个文件,则每个文件名都显示
 命令格式如下:
 SCRIPT_NAME SEARCH_ON_DIR SEARCH_FILENAME

思路

1) 按照所给的命令格式,首先得设置变量dir=” 1 ” 、 f i l e n a m e = ” {1}”、filename=” 1filename={2}”,分别表示上级文件和寻找的文件(我设置的是filename为文件名的开头,即搜索的是以filename为开头的文件)。
但是如何将查找到的文件存起来以便在输出路径时循环使用呢?
为了解决这个问题,我设置了一个head变量来存这个数组。按照课上 file=ls -a 这个语法,file最终等于ls -a所查到的内容。那么,我可以设置
head=ls $dir/$filename*
这样,head就表示我们搜索到的结果,就可以利用head进行循环输出路径。但是,还存在找不到文件的情况,这时候head就是空的,因为它是一个字符串类型,所以用 if [-z “$head”] 来判断,非空才做循环操作输出搜到的每个文件的路径。
2) 利用 chmod +x Searchit 开启权限
3) 为了能够随时使用该 Searchit 脚本,我查找资料,先是讲该脚本复制到 usr/local 和 usr/bin 中,但是我仍然用不了。这一点我没找到原因。所以我通过查资料去改变环境变量,让这个脚本能够随时使用。通过命令

#PATH=$PATH:/usr/local/Searchit/bin

改变了环境变量以后,就能随时使用了。
不足的是,这个设置是一次性的,即只在这一个终端窗口中起作用。在下一次开启终端时,如果想使用该脚本,还是得重新设置环境变量。

源代码

在这里插入图片描述

运行结果

在这里插入图片描述

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值