「dirname: 無効なオプション -- '/'」 .sh ファイルを実行しようとするとエラーが発生します。

「dirname: 無効なオプション -- '/'」 .sh ファイルを実行しようとするとエラーが発生します。

Linux (Ubuntu 14.04) でファイルを実行しようとしていますが、次のエラーが発生します:

dirname: 無効なオプション -- '/' 詳細については 'dirname --help' を試してください。

.sh ファイルを実行するために使用しているコマンドは次のとおりです。

./extract-files.sh

しかし、それを入力すると (はい、そのディレクトリにいます)、そのエラーが発生します。助けてください!

答え1

スクリプト全体を理解しようとはしません。しかし、それがdirname1 回呼び出されていることはわかります。この式は次のようになります。

cat proprietary-blobs.txt | grep -v ^# | grep -v ^$ | sed -e 's#^/system/##g'

ファイル パスのリストを生成するはずですが、要素の少なくとも 1 つが有効なパスではありません。

同じエラー メッセージを簡単に表示できます。

$ dirname -/
dirname: invalid option -- '/'
Try 'dirname --help' for more information.

proprietoly-blobs.txt の内容は次のとおりです。

-/system/app/OmaDmclient.apk
-/system/app/qcrilmsgtunnel.apk
-/system/app/shutdownlistener.apk
-/system/app/SprintHiddenMenu.apk
-/system/app/TimeService.apk
-/system/app/UpdateSetting.apk

これらすべてエラーが発生します:

dirname -/system/app/OmaDmclient.apk
dirname: invalid option -- '/'
Try 'dirname --help' for more information.

それは言う

This file is generated by device/common/generate-blob-lists.sh - DO NOT EDIT

したがって、これはそのスクリプトのバグであると考えられます。

関連情報