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

递归地找到" .sh“文件,然后在该路径上执行我的.sh文件

递归地找到".sh"文件,然后在该路径上执行我的.sh文件,可以通过以下步骤来实现:

  1. 首先,我们需要编写一个递归函数来遍历指定路径下的所有文件和文件夹。可以使用编程语言如Python来实现这个函数。以下是一个示例代码:
代码语言:python
代码运行次数:0
复制
import os

def find_sh_files(path):
    for root, dirs, files in os.walk(path):
        for file in files:
            if file.endswith(".sh"):
                file_path = os.path.join(root, file)
                execute_sh_file(file_path)

        for dir in dirs:
            find_sh_files(os.path.join(root, dir))
  1. 在递归函数中,我们检查每个文件的扩展名是否为".sh",如果是,则调用另一个函数来执行.sh文件。以下是一个示例代码:
代码语言:python
代码运行次数:0
复制
import subprocess

def execute_sh_file(file_path):
    subprocess.call(["sh", file_path])
  1. 在执行.sh文件的函数中,我们使用subprocess模块调用操作系统的shell来执行.sh文件。这将在当前路径下执行.sh文件。你可以根据需要修改执行的命令。
  2. 最后,你可以调用递归函数find_sh_files,并传入你想要搜索的路径作为参数。例如:
代码语言:python
代码运行次数:0
复制
find_sh_files("/path/to/search")

这样,程序将递归地搜索指定路径下的所有文件和文件夹,并执行所有扩展名为".sh"的文件。

对于这个问题,腾讯云没有特定的产品与之相关,因此无法提供相关产品和链接地址。但是,腾讯云提供了一系列云计算服务,包括云服务器、云数据库、云存储等,可以满足各种云计算需求。你可以访问腾讯云官方网站获取更多信息。

相关搜索:在搜索路径下的.sh文件中运行.sql我想在mac中通过python调用我的bingo.sh文件,该怎么做?为什么Docker在$PATH中找不到`/bin/sh`的可执行文件?entrypoint.sh:在Windows10上没有这样的文件或目录sh文件,用于在windows计算机上的Mobaxterm上编译cpp函数我正在尝试使用nodejs在sh中执行一个文件,但控制台告诉我找不到该文件如何配置我的.travis.yml文件以运行构建镜像的脚本,该镜像已经作为.sh文件包含在存储库中格式不是CSV的Multipart无法在类路径上找到文件在R中,我希望在文件夹中找到最新的xlsx文件,然后从该文件导入数据Jenkins Pipeline -更好地在groovy中或通过sh步骤执行工作区操作(复制文件、创建目录、写入符号链接等)?无法在我的mac上找到keytool来签署我的apk文件我的上传文件夹没有在laravel中找到正确的路径我有一个包含文件列表的目录。我必须列出文件并找到文件大小最大的文件,然后在mongodb中插入最大的文件在powershell上递归地重命名其他子目录的子目录文件?有没有办法在PyCollada几何体上找到纹理的文件路径?无法在linux上的路径中运行jar可执行文件在gradle:3.0.0上,找到多个具有操作系统独立路径builddef.lst的文件在MacOS Big Sur上,在错误的路径中生成的“我的世界”服务器文件Cliver::Dependency::NotFound:在您的路径中找不到可执行文件["phantomjs"]。Jenkins上的错误在C#计划程序上更改access数据库文件的文件路径时出现的问题,该问题会在运行代码时导致错误
相关搜索:
页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

日拱一卒,麻省理工教你CS基础,那些酷炫无比命令行工具

所有类Unix系统都提供了find命令,它是一个查找文件非常好用工具。find将会递归根据一些标准查找匹配文件,一些例子: 除了列出文件之外,find命令还可以根据你查询执行一些操作。...grep -C 5将会在匹配之后输出5行上下文内容,如果你希望快速搜索很多文件,你可以使用-R,这样它会递归进入文件夹检索文件。...如果你之前不小心有过输入了前导空格命令,你可以.bash_history或者.zhistory中手动删除它们。 路径导航 现在,我们已经假设你已经熟悉了上面这些操作。 但你怎样快速导航到路径呢?...你任务是写一个命令,它能够递归查找当前路径下所有HTML文件,并且给它们创建zip压缩包。注意:即使文件名中包含空格,你命令也依然需要生效。(提示,查看xargs``-dflag)。...作为一个mac用户,你也需要意识到,mac安装命令行工具方法和GNU不同,你可以使用brew安装GNU版本 (进阶)写一个命令或脚本来递归查找当前路径下最经常访问文件

1.6K40

如何在linux系统找到占用硬盘空间最大文件

参考文章:3 Ways to find largest files in LinuxLinux系统,有多种方法可以找到占用硬盘空间最大文件。...使用find命令:打开终端,使用以下命令来递归查找指定目录下占用空间最大文件:find /path/to/directory -type f -exec du -Sh {} + | sort -rh...| head -n 5将/path/to/directory替换为你想要查找目录路径。...命令将递归查找指定目录下所有文件,使用du -Sh命令计算文件大小,sort -rh命令按照人类可读格式进行倒序排序,head -n 5命令显示前5行结果。...这些工具可以可视化显示文件和目录大小,并帮助你找到占用空间最大文件。无论你选择哪种方法,这些命令和工具都可以帮助你快速找到占用硬盘空间最大文件,从而进行磁盘空间管理和优化。

2.4K00
  • MIT6.828实验2 —— Lab Shell

    * **exec**(char * path, char **argv):方法会执行一个指定命令,会将新执行文件加载到内存中执行,替换当前进程空间。...runcmd()方法,包含了对特殊符号解析和命令执行,参数处理思路如下: * 管道:从左往右顺序解析,找到 | 符号,对左右两边命令分别创建子进程处理,连接标准文件描述符,并递归进入runcmd(...重定向** 是将进程标准输入/输出 转移到打开文件。...**1.主体逻辑** sh.c将命令解析和命令执行独立开来,首先递归构造出结构化命令树,然后递归去遍历树中命令并执行。...()则将所有eargv指向末尾字符置为'\0',这样便巧妙源字符串中完成了参数分割。

    1.7K30

    命名空间介绍之九:命名空间,挂载传播和不可绑定挂载

    只能对同一个文件系统文件建立硬链接,而绑定挂载可以跨越文件系统(甚至可以从 chroot() 限制环境中获得)。...在下面的示例中,我们首先创建一个包含文件目录,然后新位置对目录进行绑定挂载: # mkdir dir1 # Create source directory # touch...,我们新挂载点下创建一个文件,并观察到文件原始目录下也是可见,这表明绑定挂载引用了同一个目录对象: # touch dir2/y # ls dir1 x y 默认情况下,创建目录绑定挂载时...我们通过一个 shell 会话演示问题,然后看看不可绑定挂载是如何解决问题。...首先创建一个新命名空间,命名空间中,我们递归将所有挂载点标记为从属,以防止对其它挂载命名空间产生副作用: # unshare -m sh # mount --make-rslave / # mount

    2.6K41

    用 shell 脚本做命令行工具扩展

    第一行命令服务器执行,第二行命令本地执行,它参数就是远程服务器 host,运行完成后,将文件从本地拷贝到远程。...例如我本身是 mac 开发,还有一台 windows 测试笔记本,远程 linux 服务器目前有一台,但是将来很可能会扩展……想想将来要在这么多机器找到并传输一个文件就头大。...就在一愁莫展时候,安全组同事提供了一个基于企业网盘命令行工具,可以通过命令行方式上传下载文件 mac 还有桌面端可以用。.../code/cnblogs/create_user.sh 上面这个脚本就是新机器必跑一个脚本,用来创建非 root 用户,并修改一些常用配置。...如果重新执行一遍上面的命令,还可以看到覆盖选项使用,这里出于篇幅考虑就不再罗列了。 后记 其实还可以实现目录递归上传功能,技术不存在任何障碍,只是对来说意义不大,就没有做。

    1.3K30

    Ansible基本配置以及使用示例

    要将源文件复制到远程主机绝对路径,如果源文件是一个目录,那么该路径也必须是个目录 directory_mode:递归设定目录权限,默认为系统默认权限 force:如果目标主机包含该文件,但内容不同...默认为yes others:所有的file模块里选项都可以在这里使用 src:被复制到远程主机本地文件,可以是绝对路径,也可以是相对路径。如果路径是一个目录,它将递归复制。...owner:定义文件/目录属主 path:必选项,定义文件/目录路径 recurse:递归设置文件属性,只对目录有效 src:被链接文件路径,只应用于state=link情况 dest:被链接到路径...,当该文件存在,则命令不执行 free_form:要执行linux指令 chdir:执行指令之前,先切换到目录 removes:一个文件名,当该文件不存在,则选项不执行 executable:..." ##然后远程执行脚本 #ansible storm_cluster -m shell -a '/tmp/rocketzhang_test.sh' **示例3:**使用yum模块进行安装服务 #ansible

    1.2K90

    MacLinux: 一条命令自动递归拉取当前下所有git仓库代码

    前言 随着仓库越来越多,特别是公司一大堆子仓库.... 每次都要手动fetch或者rebase, 对来说挺痛苦~~~ 所以我选择了用脚本来解决痛点......拉取仓库有改动记得提前stash(干净更好) 虽然这两个问题没解决也问题不大, 只是抛出git一些异常警告,并不会中断其他仓库拉取 实现代码 multiple-git-pull.sh 递归匹配...# 就是寻找当前及子目录为.git,找到执行一条sh(sh -c是把紧接着字符串当做命令解析) # shell 就是依次进入到匹配项 ## pwd 打印当前路径(cd 后就是进去路径) ## git...-maxdepth 3 -type d -name .git -exec sh -c "cd \"{}\"/../ && pwd && git pull --rebase" \; # 然后在对应shell...配置文件写个alias... # 代码也很简单,就是一些Linux基础语法, # 执行用户家目录对应脚本路径

    98610

    工作常用linux命令「建议收藏」

    编辑sudoers文件执行:vi /etc/sudoers 找到这行 root ALL=(ALL) ALL,在他下面添加xxx ALL=(ALL) ALL (这里xxx是你用户名) ps:这里说下你可以...最常用两个: 查磁盘大小及使用df -h 查当前目录下文件大小 du -sh * 其他: df:磁盘使用情况查看 df -ah du:查文件或目录大小。...用户名@ip地址:机器x文件路径/文件夹 本机上路径 scp -r root@10.138.37.187:/home/tem ./ 把当前机器文件拷贝到远程机器: scp 本机上路径/文件...用户名@ip地址:机器x文件路径/目标文件夹/ scp -r 本机上路径/文件夹 用户名@ip地址:机器x文件路径/目标文件夹/ eg: scp -r XXX/NA.2020-09-27 root...*.sh sh *.sh 1>>log.txt 2>&1 修改目录以及目录下所有文件所属用户和用户组 修改目录下文件所属用户:sudo chown -R bae /home -R为递归 修改目录下文件所属用户组

    2.8K30

    关于天翼校园网研究

    固件(需支持SSH)路由器,不会刷恩山论坛 自己路由器型号 2.一个大佬项目:查看链接 3.电脑安装WinSCP步骤一:制作脚本: 首先我们访问大佬项目,主页上选择eclient.sh接下来桌面新建一个文本文件...接下来我们把制作好脚本文件拖进去,并记下上方路径路径指向脚本文件将脚本放进了/etc/storage/下, 脚本名为eclient.sh, 所以指向我脚本路径是/etc/storage/eclient.sh...ps: 由于Padavan重启时会清除除了/etc/storage/以外全部目录文件,所以非常建议将脚本放进/etc/storage/下,然后进入路由器设置页面-高级设置-系统管理-配置管理,找到保存内部存储到闪存...start &fi​命令,注意命令中路径为指向你路由器内脚本路径,上面有说过,路径是/etc/storage/eclient.sh。...,最前面的1是指每1分钟,可以自己修改成其他 (如换成20就是每20分钟执行一次) 后面的路径依旧是指向你脚本路径,上面也说过除了/etc/storage/下其他目录重启会清除文件,所以还请不要自作主张乱放脚本然后修改路径

    42120

    教程 | 如何用Docker成为更高效数据科学家?

    想搞清楚这种技术可以如何让更有效率,但我发现在网上找到教程要么过于注重细节(解释了一些作为数据科学家绝不会使用功能),要么就过于浅显(没有足够信息帮助我理解如何快速有效使用 Docker...你也可以与本教程关联 GitHub 库中找到这个文件:https://goo.gl/iE4Bdr。.../run_jupyter.sh”] 语句就默认假设工作目录是 /ds ADD 语句 ADD run_jupyter.sh /ds/run_jupyter.sh 这条命令让你可以 Docker 容器运行时将文件从主机计算机复制到...注意这里主机容器路径并没有完全指定,因为其主机路径是你容器运行时指定背景路径(context directory)相对路径(后面会讨论)。...运行这个容器时,run_jupyter.sh 正好在背景路径根目录内,所以文件之前没有路径。 用户指南中介绍说: ADD ...

    2.5K70

    Shell-通过shell启动Java类中main方法 + 通过Shell启动jar包

    shell启动Java类中main方法 启动脚本分析 根据服务器JDK 以及工程部署路径 ?.../home/aisc/app/env.sh env.sh ,so 进去瞅瞅相应路径就ok了。...:脚本stop部分使用系统kill命令来强制终止指定java程序进程。 #杀死进程前,未作任何条件检查。某些情况下,如程序正在进行文件或数据库写操作, #可能会造成数据丢失或数据不完整。...############## #JDK所在路径 JAVA_HOME="/usr/java/jdk1.7.0_60" #执行程序启动所使用系统用户,考虑到安全,推荐不使用root帐号 (本次在下面的...:脚本stop部分使用系统kill命令来强制终止指定java程序进程。 #杀死进程前,未作任何条件检查。某些情况下,如程序正在进行文件或数据库写操作, #可能会造成数据丢失或数据不完整。

    1.1K60

    Linux 入门系列

    Linux 也衍生出各种格言版本,比较多是 Centos Linux 中,一切皆文件。所以各种目录、文件权限、创建者、所属组都是比较实用东西。...命令执行优先级 我们经常用 pwd 获取当前目录路径,如果自己写个 shell 脚本,命名为 pwd,将其加入到 PATH 中,那二者谁会执行呢? 这就是为什么要了解命令优先级了。...命令优先级 第一优先级:指定路径命令。绝对路径 /home/parallels/a.sh 或者相对路径 ./a.sh。...然后将 /etc/profile.d/*.sh 进行初始化。 ~对应当前登录用户用户空间。...所属用户:读、编辑、执行,7 所属组:读、执行,5 其他:读,4 修改文件夹或者文件所属用户和用户组 # 递归修改 /opt/config 归属 admin 用户,所属 admin 组 chown

    1.4K50

    Linux 提权总结

    sudo 和 suid 提权 何为suid 可见权限位置有一个s权限。那么这个s作用是什么呢? 答案是当其他用户执行文件时,该文件会以root身份执行。...UID: 高权限用户降权后,保留其原本UID (不展开说) 所以增加了一个s权限,程序实际运行时Effective UID就会变为0,即rootUID sudo 就是能把一个命令视作root来执行...,那么我们可以通过写入环境变量靠前路径一个同名恶意文件从而导致环境变量劫持 比如我们/sbin 写入一个 反弹shell功能shell.sh,那么就可以造成提权 通配符提权 https://www.secpulse.com...这个提权方法思想是,找到有suid,内部有system函数调用未指定路径命令文件。...首先我们执行如下命令 docker run -v /:/mnt --rm -it crf_web1 chroot /mnt sh 然后在其中/etc/passwd中写入一个root权限用户(这里直接无密码了

    6.3K20

    如何在 Linux 复制文件文件夹到远程服务器?

    从一个服务器复制文件到另一个服务器,或者从本地到远程复制是 Linux 管理员日常任务之一。 觉得不会有人不同意,因为无论在哪里这都是你日常操作之一。...你可以挑一个喜欢方法。当然,看看其他命令也能在别的地方帮到你。 已经自己环境下测试过所有的命令和脚本了,因此你可以直接用到日常工作当中。...2.4KB/s 00:00 passwd-up.sh 100% 877 0.9KB/s 00:00 使用下面的脚本递归复制文件夹到多个远程服务器。...[SUCCESS] 2g.CentOS.com 使用下面的 pscp 命令递归复制整个文件夹到远程服务器。...在上面两个 shell 脚本中,我们需要事先指定好文件文件路径,这儿做了些小修改,让脚本可以接收文件文件夹作为输入参数。当你每天需要多次执行复制时,这将会非常有用。

    15.6K10

    进击消息中间件系列(二):Kafka 单机与集群部署实践

    这里为简单起见,直接使用Kafka内置Zookeeper服务。 启动zookeeper Windows操作系统中找到解压kafka_2.12-2.4.0 进入CMD命令行窗口 输入....(from server1 to server2) 2.基本语法: scp -r $pdir/$fname $user@$host:$pdir/$fname 命令 递归 要拷贝文件路径.../名称 目的用户@主机:目的路径/名称 3.案例实操 前提: hadoop102、hadoop103、hadoop104 都已经创建好/opt/module、 /opt/software...1.基本语法 rsync -av $pdir/$fname $user@$host:$pdir/$fname 命令 选项参数 要拷贝文件路径/名称 目的用户@主机...sticky:粘合策略,如果需要rebalance,会在之前已经分配基础做出调整,不会改变之前分配情况,如果没有开启策略就会重新全部分配,效率较低,建议开启。

    48230

    10分钟就能学会,Linux操作系统21个shell常用命令

    sh 是 UNIX 标准 shell,很UNIX 版本都配有 sh。...选项 含 义 -a 选项通常在复制目录时使用,它保留链接、文件属性,并递归复制目录 -d 复制时保留链接 -f 删除已经存在目标文件而不提示...,则cp将递归复制目录下所有子目录和文件,目标文件必须为一个目录名 -l 不作复制,只是链接文件 注意: 为防止用户不经意情况下用cp命令破坏另一个文件,建议用户使用...选项 含 义 -i 以进行交互式方式执行 -f 强制删除,忽略不存在文件,无需提示 -r 递归删除目录下内容 例程: 使用rm...locate命令是利用事先在系统中建立系统文件索引资料库然后再检查资料库方式工作。 为了提高locate命令查出率,使用命令前必须拥有最新资料数据库。

    1.8K60

    Hadoop数据分析平台实战——030Hadoop Shell命令02(熟悉linux跳过)离线数据分析平台实战——030Hadoop Shell命令02

    dfs -ls / 区别:lsr是递归显示 hdfs命令-dfs创建文件夹 命令: -mkdir 执行:hdfs dfs -mkdir -p /bjsxt/hdfs/mkdir -p指定当需要创建文件夹存储...,那么不报错,默认情况会报错,递归创建文件夹。...bjsxt/put 本地路径可以指定文件夹或者多个文件,hdfs路径必须是根据上传东西不同,有不同要求。...2.本地指定是单个文件,那要求hdfs指定文件不存在 3.本地指定是多个文件,那么要求hdfs指定文件夹存在。...,cat是copy文件内容,然后显示;text是通过hadoop解析将文件内容转化为文本内容,然后显示。

    70080

    理解Linux文档属性、拥有者、群组、权限、差异

    选项 -R 递归变更,即连同次目录下所有文件(夹)都要变更。 用法 chown daemon test 变更文件夹test账号为daemon。 ?...备注:很熟悉吧,如果我们编写完一个shell文件test.sh后,通过chmod a+x test.sh就添加了文件执行权限。...赋予一个shell文件test.sh执行权限,拥有者可读、写、执行,群组账号和其他人可读、执行。 chmod 755 test 备注:有没有发现数字法更简单啊!!!...那是因为目录相关权限及属性是记录到目录inode,而目录下所有文件名称和对应索引文件(inode)号码又是记录到目录所属block中,所以当我们读取某个文件时,必须先读到目录inode,然后再读取目录...如果你觉得本篇文章对您有帮助的话,感谢您【推荐】。 如果你对 linux 感兴趣的话可以关注,我会定期博客分享学习心得。

    74430

    Linux常用命令+Web程序部署

    1、 Linux ,认为以 / 开头就是一个绝对路径,从根目录往下数,获取到完整路径 2、以 ....或者 … 开头就是相对路径,从当前目录开始往下找,找到一个不太完整目录 当前命令行所在目录就称之为工作目录,指定相对路径,都是以工作目录为基准,如果当前工作目录不同,要找一个文件相对路径,...接下来就是启动 tomcat 了,启动 tamcat 需要进入 bin 目录, bin 目录中找到 startup.sh 然后打开就行, Linux 中 .sh 是 Linux 使用 Windows...中 .bat 是 Windows 使用,但是默认情况下不能直接运行,需要给 .sh 赋予可执行权限, 命令: chmod +x *.sh 这个命令就是赋予 .sh执行权限。...这里显示绿色说明后缀是 .sh 就可以执行了。看前面的权限也可以看出来文件是可执行执行命令: sh startup.sh // 或者 .

    61020
    领券