GNU/Linux >> Linux の 問題 >  >> Linux

フォルダ内のすべてのシェル スクリプトを実行する

これを使用:

for f in *.sh; do
  bash "$f" 
done

スクリプトが失敗したときに実行全体を停止したい場合:

for f in *.sh; do
  bash "$f" || break  # execute successfully or break
  # Or more explicitly: if this execution fails, then stop the `for`:
  # if ! bash "$f"; then break; fi
done

実行したいもの、例えば x1.shx2.sh , ..., x10.sh :

for i in `seq 1 10`; do
  bash "x$i.sh" 
done

失敗したスクリプトの終了コードを保持するには (@VespaQQ に応答):

#!/bin/bash
set -e
for f in *.sh; do
  bash "$f"
done

もっと簡単な方法があります。 run-parts を使用できます フォルダ内のすべてのスクリプトを実行するコマンド:

run-parts /path/to/folder

Linux
  1. シェルスクリプトの連想配列?

  2. シェルスクリプトの正しいロック?

  3. Webサイトからシェルスクリプトを実行しますか?

  1. Bashシェルのカスタマイズ

  2. Bashスクリプトでのエラー処理

  3. シェルからPythonスクリプトを実行する方法

  1. 複数のシェルスクリプト間で変数を共有しますか?

  2. Bashシェルスクリプトで改行をエコーする方法

  3. 4 つのサンプル シェル スクリプトで説明されている Bash の特別なパラメーター