返回顶部
首页 > 资讯 > 操作系统 >linux中怎么将目录下的脚本一次性全部执行
  • 903
分享到

linux中怎么将目录下的脚本一次性全部执行

2023-06-16 01:06:31 903人浏览 八月长安
摘要

这篇文章主要为大家展示了“linux中怎么将目录下的脚本一次性全部执行”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“linux中怎么将目录下的脚本一次性全部执行”这篇文章吧。1. run-par

这篇文章主要为大家展示了“linux中怎么将目录下的脚本一次性全部执行”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“linux中怎么将目录下的脚本一次性全部执行”这篇文章吧。

1. run-parts

首先推荐一个很实用,但大家不是很熟悉的命令:run-parts 。它的基本用法如下:

$ run-parts option <directory-path>

但是,并不是目录下所有的脚本都会被执行,还是会有一些命名要求的。脚本的名字满足以下条件才会被执行:大/小写、数字、下划线(_)、短杠线(-)。

为了能选出满足条件的脚本,我们通常需要加上 --regex 选项。假如我们的目录下有这些脚本:

linux中怎么将目录下的脚本一次性全部执行

由于脚本一般是以 .sh 结尾,所以如果你的命名都符合规则的话,想要执行所有脚本的话,可以这样操作:

$ run-parts --regex 'sh$' .

执行结果:

linux中怎么将目录下的脚本一次性全部执行

如果你只想要执行以 s 开头,sh 结尾的脚本,可以结合如下正则表达式

$ run-parts --regex '^s.*sh$' .

执行结果:

linux中怎么将目录下的脚本一次性全部执行

当然了,你可以根据自己的脚本情况,写出对应的正则表达式。

为了防止误操作,在脚本真正执行之前,可以先看下将被执行的脚本会有哪些。我们可以加上 --list 选项:

$ run-parts --list --regex '^s.*sh$' .

执行结果:

linux中怎么将目录下的脚本一次性全部执行

如结果所示,加上 --list 选项后,它只会列出将要执行的脚本,便于你的核对,并不会真正去执行这些脚本。

2. find

但是,run-parts 这个命令还是比较小众,估计很多人并不知道这个命令,更不用说知道怎么去使用了。另一个执行目录下所有脚本的方法是使用 find  命令,这个大家会更熟悉一些。

具体来讲,我们可以使用 find 命令来找到目标目录下所有的脚本,然后再使用 -exec 选项去执行找到的脚本。

$ find ~/scripts -maxdepth 1 -type f -executable -name 's*' -exec {} \; STAY HOME STAY SAFE

上面的命令是指定了只在 scripts/ 目录这个层级下找脚本,但是,你还可以去掉这个限制,就可以搜索当前目录及其子目录下所有的脚本了:

$ find -maxdepth 1 -type f -executable -name '*.sh' -exec {} \;

3. for

如果你 shell 的水平不错的话,那么 for 循环也是一个不错的选择。比如你想执行目录下所有以 s开头的脚本,可以这样写:

$ for f in ~/scripts/s* ; do [ -x "$f" ] && [ ! -d "$f" ] && "$f" ; done STAY HOME STAY SAFE

如果你想执行目录下所有的脚本,可以做一个小小的改动:

$ for f in ~/scripts/*.sh ; do [ -x "$f" ] && [ ! -d "$f" ] && "$f" ; done 公众号:良许Linux hello world! STAY HOME STAY SAFE

当然了,如果你还想要执行其它脚本,或者有其它需求,可以发挥你的想象,写出对应的命令来。

以上是“linux中怎么将目录下的脚本一次性全部执行”这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注编程网操作系统频道!

--结束END--

本文标题: linux中怎么将目录下的脚本一次性全部执行

本文链接: https://lsjlt.com/news/281959.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • linux中怎么将目录下的脚本一次性全部执行
    这篇文章主要为大家展示了“linux中怎么将目录下的脚本一次性全部执行”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“linux中怎么将目录下的脚本一次性全部执行”这篇文章吧。1. run-par...
    99+
    2023-06-16
  • 如何将shell脚本的全部执行结果记入一个log文件
    先给大家介绍下将shell脚本的全部执行结果记入一个log文件 ./script.sh &gt;&gt;logfile 2&gt;&amp;1 执行脚本script.sh时将错误输出2以及...
    99+
    2024-04-02
  • 使用shell怎么在指定目录下批量执行sql脚本
    今天就跟大家聊聊有关使用shell怎么在指定目录下批量执行sql脚本,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。如下所示:#!/bin/bash#execute all&...
    99+
    2023-06-09
  • dedecms怎么取消服务器/主机空间目录脚本的执行权限
    dedecms怎么取消服务器/主机空间目录脚本的执行权限?网站安全中,对目录的执行权限是非常敏感的,一般来说,可以写入的目录是不能够拥有脚本的执行权限的,像DedeCMS系统,可写入的有两个目录data、uploads,data目录主要是基...
    99+
    2014-06-13
    dedecms
  • 怎么删除Linux一个目录下部分类型之外的所有文件
    这篇文章主要介绍怎么删除Linux一个目录下部分类型之外的所有文件,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!有的时候,你可能会遇到这种情况,你需要删除一个目录下的所有文件,或者只是简单的通过删除除了一些指定类型(...
    99+
    2023-06-16
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作