此代码在bash中做什么?

约书亚·斯特罗

我正在尝试修改某人的脚本,其中的某些部分确实让我感到困惑。如下图所示。

if [[ ! -f "${0%/*}/somefile" ]]; then
    echo "Cannot find somefile, quiting..." >&2
    exit 1
else
    source "${0%/*}/somefile"
fi

我知道它正在检查文件是否存在,并使用此代码${0%/*}尝试获取当前目录,但是它对我而言不运行。我修复它的方法是用pwd效果更好的代替它

我只是想知道是否有人可以向我详细说明那部分代码${0%/*}想要做什么?

巴尔玛

它不是要获取当前目录,而是要获取包​​含脚本的目录。$0是脚本的名称,%/*修饰符会删除脚本中的所有/内容。

该脚本预期somefile存在于安装脚本的目录中,而不是当前目录中。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

此代码中的“ it”功能做什么?

来自分类Dev

Java中的| =运算符,此代码做什么?

来自分类Dev

Java NIO,此部分代码中的“&”号是做什么的?

来自分类Dev

&>在bash中做什么?

来自分类Dev

Android HashMap-此代码做什么?

来自分类Dev

在PHP中,此代码块在表单必填字段中做什么?

来自分类Dev

cd /./在bash中做什么

来自分类Dev

此代码如何在gcc中编译,它实际上在做什么?

来自分类Dev

此语句在C中做什么?

来自分类Dev

标准化割:此代码做什么?

来自分类Dev

PHP攻击服务器,此代码在做什么?

来自分类Dev

Javascript窗口对象,window +'',此代码做什么

来自分类Dev

多次运行的矩阵归一化,此代码做什么?

来自分类Dev

Codehs清单:此代码在做什么错?

来自分类Dev

标准化割:此代码做什么?

来自分类Dev

此代码使用typeof…!=“ undefined”和clearInterval做什么?

来自分类Dev

lambda在此python代码中做什么?

来自分类Dev

这段代码中的“ s”是做什么的?

来自分类Dev

这段代码中的[0]在做什么?

来自分类Dev

以下代码在cpython中做什么

来自分类Dev

这行代码在C编程中做什么?

来自分类Dev

以下代码在C中做什么?

来自分类Dev

@ <(cat <<-EOF在Bash中做什么?

来自分类Dev

set -u在bash脚本中做什么?

来自分类Dev

-e在bash shebang中做什么?

来自分类Dev

在bash中[[$ something = {{*]]会做什么?

来自分类Dev

bash脚本中的“ $ @”是做什么的?

来自分类Dev

此示例中的jmpq命令是做什么的

来自分类Dev

在JavaScript中关闭'{}'后,此符号'()'会做什么?