すべての bash スクリプトを見つけて (現在、それらの多くを蓄積しています)、それらをすべてbash -n
自動的に実行したいと考えています。
これを行う簡単な方法は何ですか?最初の非空白行がor or or ...grep
で始まるファイルのみに一致させたい#!/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 を合理的に実行するにはどうすればよいでしょうか?