加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > 安全 > 正文

bash – 如何从一组文件中仅选择shell脚本

发布时间:2020-12-15 21:09:24 所属栏目:安全 来源:网络整理
导读:我想找到我所有的bash脚本(我现在已经积累了很多)并自动通过bash -n运行它们. 什么是快速的方法呢?我想让grep只匹配第一个非空白行以#!/ bin / sh或#!/usr/bin/env sh或#!/usr/bin/env bash或#!/ bin /开头的文件庆典… 一个可用的答案当然是有用的 for
我想找到我所有的bash脚本(我现在已经积累了很多)并自动通过bash -n运行它们.

什么是快速的方法呢?我想让grep只匹配第一个非空白行以#!/ bin / sh或#!/usr/bin/env sh或#!/usr/bin/env bash或#!/ bin /开头的文件庆典…

一个可用的答案当然是有用的

for file in *; do 
    if head -n 5 $file | grep "#!.*sh$" > /dev/null; then
        bash -n $file
    fi
done

但是为了“正确”,我怎么能合理地只在第一个非空白(或非空白)线上做我的grep?

解决方法

使用find:

find . -type f -exec grep -e "^#!/bin/.*sh$" {} +

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读