[[ -n "$aOutputFolder" ]] && ( IsEndWithSlash $aOutputFolder || aOutputFolder=$aOutputFolder"/" )
上面的代码是:检查aOutputFolder是否为空;如果没有,它将用'/'检查天气结束或附加'/'。
当我使用aOutputFold =“/ home / todd”执行此行时,它没有像我预期的那样附加'/'。希望有人可以帮忙!
答案 0 :(得分:2)
parens打开一个新的子shell,变量在那里被修改;改变永远不会发生在父shell中。
[[ -n $aOutputFolder ]] && { IsEndWithSlash "$aOutputFolder" || aOutputFolder="$aOutputFolder/" ; }
答案 1 :(得分:2)
尝试一下(不需要IsEndWithSlash
实用程序):
[[ ${aOutputFolder:-/} != */ ]] && aOutputFolder+=/
说明:
${aOutputFolder:-/}
- 如果变量为空(null或未设置),请对比较字符串使用斜杠,否则使用其值!= */
- 如果比较字符串不等于以斜杠结尾的任何字符序列&& aOutputFolder+=/
- 然后在末尾连接斜杠答案 2 :(得分:0)
您应该尝试:aOutputFolder+="/"