如果[$ {0#/} = $ {0}],那该怎么办?那么是什么意思?

时间:2015-04-03 14:13:56

标签: shell scripting

看到一段具有以下条件的代码:

if [ ${0#/} = ${0} ] ; then

这是什么意思?

1 个答案:

答案 0 :(得分:4)

此测试检查脚本是以相对路径还是绝对路径运行。如果它是以相对路径执行的,它将评估为true

变量:

${var#pattern}

扩展为${var},前缀pattern已删除(在这种情况下,/将从变量的开头删除。这称为参数扩展。

变量:

${0}

包含脚本的名称或路径。

比较的左侧:

${0#/}

将展开到删除了/前缀的脚本的路径(如果存在)

好的描述是here