我想找到我所有的 bash 脚本(我现在已经积累了很多)并自动运行它们bash -n
。
有什么快速的方法来做到这一点?我只想匹配第一个非空行以or或orgrep
开头的文件...#!/bin/sh
#!/usr/bin/env sh
#!/usr/bin/env bash
#!/bin/bash
一个有用的答案当然是类似于
for file in *; do
if head -n 5 $file | grep "#!.*sh$" > /dev/null; then
bash -n $file
fi
done
但是为了“正确性”,我如何合理地仅在第一个非空白(或非空白)行上执行我的 grep?