現在のフォルダにあるすべての.shファイルのリストを作成します。このリストの各ファイルの最初の行を確認し、ファイルがで始まる場合#!/bin/sh
に置き換えます#!/bin/bash
。を含むファイルのみを変更し、#!/bin/sh
すべての.shファイルの最初の行をに置き換えないでください#!/bin/bash
。
また、起動順序のみを交換するだけです。ファイルがその間にある場合は、#!/bin/sh
交換しないでください。 .shのサブフォルダから繰り返し検索する必要はなく、現在のフォルダのファイルから置き換えるだけです。
ベストアンサー1
何千もの「.sh」ファイルがなく、「.sh」で終わるサブディレクトリがない場合は、次のものを使用できます。
gawk -i inplace 'NR==1 && $0=="#!/bin/sh" {$0="#!/bin/bash"} 1' *.sh