这个实例中//,/是什么意思?
:while
IF EXIST proceed.txt goto :break
echo "Waiting to check for file"
ping -n 11 127.0.0.1 > nul
goto :while
:break
$ SCHEMA_ONLY_CLAUSE现已填充:
for SCHEMA_ONLY_DB in ${SCHEMA_ONLY_LIST//,/}
do
SCHEMA_ONLY_CLAUSE="$SCHEMA_ONLY_CLAUSE or datname ~ '$SCHEMA_ONLY_DB'"
done
SCHEMA_ONLY_LIST="mydb1,mydb2,mydb3,mydb4"
SCHEMA_ONLY_DB=mydb1
答案 0 :(得分:6)
来自bash(1)
手册页(http://linux.die.net/man/1/bash):
${parameter/pattern/string}
模式替换。扩展模式以生成模式,就像在路径名扩展中一样。扩展参数,并将模式与其值的最长匹配替换为字符串。如果模式以
/
开头,则模式的所有匹配都将替换为字符串。通常只替换第一场比赛。如果模式以#
开头,则它必须在参数的扩展值的开头匹配。如果模式以%
开头,则它必须在参数的扩展值的末尾匹配。如果string为null,则删除pattern的匹配,并且可以省略/
跟随模式。如果参数为@
或*
,则替换操作依次应用于每个位置参数,并且扩展是结果列表。如果parameter是一个使用@
或*
下标的数组变量,则替换操作将依次应用于数组的每个成员,并且扩展是结果列表。
也就是说,${something//,/}
已扩展为$something
,并且已删除所有,
次。