我正在用此行阅读Bash脚本:
FOO=${1+/$1}
Run Code Online (Sandbox Code Playgroud)
这条线是做什么的?
将/使它看起来稍微混乱比它,但是这只是一个例子${foo+bar},它扩展到bar如果$foo设置。
在这种情况下,变量是$1,传递给脚本或函数的第一个位置参数。
example () {
echo "${1+/$1}"
}
example # outputs nothing
example '' # outputs "/"
example foo # outputs "/foo"
Run Code Online (Sandbox Code Playgroud)
表格中总结了这些参数扩展。的规则${parameter+word}是:
wordword 因此,要直接回答你的问题,FOO=${1+/$1}受让人/$1对FOO被$1设置,否则FOO设置为null(空字符串)。