看到一段具有以下条件的代码:
if [ ${0#/} = ${0} ] ; then
这是什么意思?
答案 0 :(得分:4)
此测试检查脚本是以相对路径还是绝对路径运行。如果它是以相对路径执行的,它将评估为true
。
变量:
${var#pattern}
扩展为${var}
,前缀pattern
已删除(在这种情况下,/
将从变量的开头删除。这称为参数扩展。
变量:
${0}
包含脚本的名称或路径。
比较的左侧:
${0#/}
将展开到删除了/
前缀的脚本的路径(如果存在)
好的描述是here。