Bashスクリプトで使用されるすべての実行可能ファイルのリストを作成するには?

Bashスクリプトで使用されるすべての実行可能ファイルのリストを作成するには?

一般的な用語で実行可能ファイル:

  • 共通バイナリ
  • スクリプト

新しい行の先頭、インラインの後ろの&&andなどの接続詞などを一致させるいくつかの太った正規表現を使用して実行できると思います。しかし、もっと簡単な方法があるかどうか疑問に思います。||;

答え1

「単語」を分類して「which」コマンドで渡すとよいでしょう。たぶん、次のようなものがあります。

cat $SCRIPT | tr -c '[[:alnum:]-_]' '\\n' | sort -u | xargs which

フレーズの単語順序規則は、trこのような「難解な」コマンドを除外します[。単に「一般的な」命令語を見つけるのではない場合は、ここで試してみてください。もちろん、上記はスクリプトで使用できない可能性があるコマンドも見つけているので、それを区別するには実際にはより多くのパーサーが必要です。スクリプトからコメントを除外するsed 's/#.*//代わりに、省略形を使用することもできます(ただし、文字列に含まれる場所は渡されません)。cat#

関連情報