首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Shell脚本帮助!循环目录下的目录

您好!感谢您的提问。Shell脚本是一种用于自动化执行命令的脚本语言,它可以帮助您在Linux系统中执行各种任务。以下是一个简单的Shell脚本示例,用于循环遍历目录下的所有目录并输出它们的名称:

代码语言:bash
复制
#!/bin/bash

# 遍历当前目录下的所有目录
for dir in */; do
  # 输出目录名称
  echo "Directory: $dir"
done

在这个示例中,我们使用了一个for循环来遍历当前目录下的所有目录。*/表示匹配所有以斜杠结尾的目录。在循环内部,我们使用echo命令输出目录名称。

如果您需要遍历多级目录,可以使用递归函数来实现。以下是一个示例:

代码语言:bash
复制
#!/bin/bash

# 递归函数,遍历目录下的所有目录
function traverse_dir {
  # 遍历当前目录下的所有目录
  for dir in "$1"*/; do
    # 输出目录名称
    echo "Directory: $dir"
    # 递归遍历子目录
    traverse_dir "$dir"
  done
}

# 调用递归函数
traverse_dir "."

在这个示例中,我们定义了一个名为traverse_dir的递归函数,它接受一个参数,即要遍历的目录。在函数内部,我们使用for循环遍历目录下的所有目录,并递归调用traverse_dir函数来遍历子目录。最后,我们在脚本的最后一行调用traverse_dir函数,传入.表示从当前目录开始遍历。

希望这个答案能够帮助您解决问题!如果您还有其他问题,请随时提问。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

shell删除指定目录下svn目录

内网的话,为了方便,我一般就是上传内网时,把项目里文件夹直接上传至内网服务器,然后使用shell命令再删除.svn目录和Thumbs.db文件。...直接在终端下使用VI进行编辑,然后输入shell程序,保存、退出,需要使用时直接调用sh xxx.sh ‘目录路径’即可。...上述代码 $1为调用shell时传入参数 $0为shell文件名 -z $1  则是判断是否有参数输入 -d $1  判断传入参数是否为一个目录,检测是否为文件,使用-f find 指令 后跟着...需要查找目录     -type 需要查找类型,常用一般为 –d –f (还有其它参数,可以使用--help查看)     -name 使用文件名对查找文件/文件夹进行过滤     xargs 是将前面获取前面查找所有参数...,因为后述参数传递有上限 rm 删除文件及目录      -f 强制删除      -r 递归处理     -v 显示执行过程 (其它参数可以使用--help进行查看)

2.6K50
  • 使用Shell脚本遍历子目录下所有文件方法

    最近博客进行了搬家,CDN源发生改变,想着在CDN上将博客所有图片刷新预热一遍,那么问题来了,刷新预热需要得到所有图片地址,于是直接使用Shell脚本递归遍历wp-content/uploads目录先得到图片文件路径...创建Shell脚本 使用vi编辑器,先创建一个vi traveDir.sh文件,复制下面的脚本代码: #!...chmod +x traveDir.sh 使用方法 上一个步骤已将脚本创建完毕,接下来只需要执行....11/snipaste_20191110_102750.png这个样子,直接使用文本工具,将/data/wwwroot/xiaoz.me/批量替换为您自己域名,然后将URL提交到CDN服务商进行刷新预热...总结 脚本批量导出文件路径 文本工具将站点根目录批量替换为自己域名 提交URL刷新 脚本比较简单,网上一搜一大把,此文参考了:使用Shell遍历目录及其子目录所有文件方法

    1.5K20

    浅谈Pycharm调用同级目录下py脚本bug

    环境:python3.5,pycharm2017.2.3 目录结构 ? a.py t=5 b.py from a import t print(t) 平台显示 出现红色波浪线警示。 ? ?...强行运行 #Out: 5 仍然成功运行 总结 这可能是pycharmbug(如果读者读取sys路径,会发现当前路径其实已经被包括)。 所以读者无需理会该bug,强行运行即可。...唯一不舒服地方就是没办法自动填写代码。 以上这篇浅谈Pycharm调用同级目录下py脚本bug就是小编分享给大家全部内容了,希望能给大家一个参考,也希望大家多多支持网站事(zalou.cn)。...您可能感兴趣文章: 完美解决Pycharm无法导入包问题 Unresolved reference 解决PyCharm同目录下导入模块会报错问题 解决使用pycharm提交代码时冲突之后文件丢失找回方法...解决Pycharm运行时找不到文件问题 解决pycharm无法调用pip安装包问题

    58531

    shell脚本运行jar包获取参数_linux加载一个目录下所有jar包

    大家好,又见面了,我是你们朋友全栈君。 当使用SpringBoot框架时,他自己集成了tomcat。在启动jar包时,经常需要复制一大段命令,尤其是在项目目录发生改变时候,实在繁琐。...所以可以使用shell脚本来启动、关闭和重启Java项目。 创建一个shell脚本 vim 脚本名.sh 脚本内容: #!.../bin/bash #这里替换为你自己执行程序名称 JAR_NAME=jar包名称 #lib目录 LOAD_PATH="-Dloader.path=/home/local/lib/" #项目配置文件...stop") stop ;; "status") status ;; "restart") restart ;; *) usage ;; esac 使用示例: #启动jar包 sh 脚本名...如发现本站有涉嫌侵权/违法违规内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

    1.8K20

    快速掌握shell脚本各种循环语句

    #概览 shell各种循环语句:for、while、until、select 1.for循环 #语法结构 #第一种:变量取值 for 变量名 in 变量取值表 do 指令 done #示例...bash for i in `seq 1 5` do echo $i done #效果 [root@game scripts]# sh for3.sh 1 2 3 4 5 #2.获取当前目录下目录或文件名.../bin/bash usage(){ #帮助函数 echo "directory not found" } [ !...^C 5.循环控制及状态返回值 break (循环控制) continue (循环控制) exit (退出脚本) return (退出函数) #区别 break continue在条件语句及循环语句(for...if while等)中用于控制程序走向 exit是终止所有语句并退出脚本 return:仅用于在函数内部返回函数执行状态值 #break示例 #如果i等于3,那么就终止循环 [root@game

    7K20

    shell脚本逻辑判断,文件目录

    shell脚本逻辑判断: 逻辑判断表达式:if [ $a -gt $b ]; if [ $a -lt 5 ]; if [ $b -eq 10 ]等 -gt (>); -lt(=);...a=1 那么 a 就不>3 所以就不满足条件,就是else 第三种格式:if …; then … ;elif …; then …; else …; fi 文件目录属性判断: 【 if file 】 判断是否是普通文件...,切存在 【-d file 】判断是否是目录,且存在 【 -e file 】判断文件或目录是否存在 【 -r file 】判断文件是否可读 可写 可执行 = 类似 判断不同写法:【 -f $f 】||...commond1 ;; value2) commod2 ;; value3) commod3 ;; esac 脚本案例...: 在网卡系统服务脚本中,如,/etc/init.d/iptables中就用到了case 在case中,可以在条件中使用“|”,表示或意思 输入一个同学分数,判断成绩是否及格,优秀。

    1.4K50

    shell脚本实现 压缩Linux下某一目录下所有文件夹至单独压缩包

    当我们需要上传文件至某个网站时候,往往在线上传是要求文件大小,而且之能传压缩包,这个时候把多个文件压缩为一个文件就很有必要了,尤其是当你需要压缩多个文件时候,写一个自动脚本更有必要了,好在这是在Linux...dir=`basename $dir`; tar -zvcf $dir\.tar.gz $dir; fi done 1 :for循环当前目录...2 : grep "/$" 只对目录进行操作 ? 3 :tar -zvcf $dir\.tar.gz $dir; 直接打包 附: [dirname]:取得脚本文件所在目录。...[basename]:用于去掉文件名目录和后缀。 ?...示例一: # /usr/bin为获取到目录 [root@local ~]# dirname /usr/bin/sort /usr/bin 示例二: # 如无/则获取当前目录

    6.7K10

    Shell脚本循环读取文件中每一行

    使用for循环 for line in `cat filename` do echo $line done 或者 for line in $(cat filename) do echo $...line done 使用while循环 while read -r line do echo $line done < filename While循环中read命令从标准输入中读取一行,并将内容保存到变量...在这里,-r选项保证读入内容是原始内容,意味着反斜杠转义行为不会发生。输入重定向操作符< file打开并读取文件file,然后将它作为read命令标准输入。...今天遇到一个问题弄了好久才搞明白:我想在循环中动态链接字符串,代码如下: for line in `cat filename` do echo ${line}XXYY done 就是在每一次循环过程中给取出来字符串后面添加...后来发现是因为我文件是才Window下生产,在Linux下读取这样文件由于换行符不同会导致程序运行不出来正确结果。

    5.5K20

    Linux shell脚本使用while循环执行ssh注意事项

    如果要使用ssh批量登录到其它系统上操作时,我们会采用循环方式去处理,那么这里存在一个巨大坑,你必须要小心了。...一、场景还原: 我现在是想用一个脚本获取一定列表服务器运行时间,首先我建立一个名字为ip.txtIP列表(一个IP一行),再建好密钥实现不用密码直接登录。然后写脚本如下: #!.../bin/bash while read ips; do echo $ips; done < ip.txt 脚本实现了逐行读取列表中IP,但是: #!...二、问题分析: while使用重定向机制,ip.txt文件中信息都已经读入并重定向给了整个while语句,所以当我们在while循环中再一次调用read语 句,就会读取到下一条记录。...修改后代码如下: #!

    3.9K80

    linux查找文件夹命令find_用shell命令查看目录下文件

    liunx查找大于100M文件 find / -type f -size +100M liunx查找文件夹命令: linux查找根目录下文件夹名称叫www.buruyouni.com目录地址...find / -name www.buruyouni.com -d Jetbrains全家桶1年46,售后保障稳定 1 linux查找/var/www/目录下叫index.php文件 find.../var/www/ -name index.php 1 查找根目录下所有以”.sh”结尾文件 find / -name *.sh 1 下载命令:下载 www.91cnm.com/index.php...资源 wget www.91cnm.com/index.php (&下载大文件时候加上&后台执行,断开远程连接还可以下载) 1 安装软件时候无法确认操作是否成功,如make / configure...输出 0 则可以确认是安装成功,输出其他数字均表示该步骤是失败

    2.3K20

    shell脚本逻辑判断,文件目录属性判断,if特殊用法,case语句

    笔记内容: 20.5 shell脚本逻辑判断 20.6 文件目录属性判断 20.7 if特殊用法 20.8/20.9 case判断 笔记日期:2017-11-22 20.5 shell脚本逻辑判断...我们可以看看这个脚本执行过程: ? 如图,可以看到执行判断2是否大于3,所以结果否定,就会执行else里代码。...官方指定是使用方括号那种形式,不过具体按个人喜好吧,我还是比较推荐官方指定那种形式。 关于shell逻辑运算符: &&  与 ||  或 20.6 文件目录属性判断 ?...在shell中经常会和文件和目录打交道,所以这个时候对文件或目录判断就比较重要了。例如经常会需要去判断这个文件是否存在、文件大小是否大于或小于多少、文件属主属组是谁等等。...在条件中表达式使用 | 来表示或者意思,代码示例: ? 运行结果: ? 综合以上知识点演示一个脚本例题: ? ?

    3.6K30
    领券