当我尝试运行 .sh 文件时出现“dirname: 无效选项 -- '/'”错误?

当我尝试运行 .sh 文件时出现“dirname: 无效选项 -- '/'”错误?

我正在尝试在 Linux(Ubuntu 14.04)中运行一个文件,但是出现此错误:

dirname:无效选项——‘/’请尝试‘dirname --help’获取更多信息。

我用来运行.sh 文件的命令是这样的:

./提取文件.sh

但当我输入该内容时(是的,我在它所在的目录中),它给出了该错误。救命!

答案1

我不会尝试理解整个脚本。但我看到它dirname被调用了一次,我假设这个表达式:

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

应该生成文件路径列表,但其中至少有一个元素不是有效路径。

很容易触发同样的错误信息:

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

patent-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

因此我认为这是该脚本的一个错误。

相关内容