您好我正在尝试用另一个字符串替换字符串。
这是我的样本
$ SITE已经宣布
PARAM="$SITE,90,1000"
PARAM=${PARAM//'$SITE'/$SITE}
但我收到此错误
PARAMS="${PARAMS//"\$SITE"/$SITE}": 0403-011 The specified substitution is not valid for this command.
导致此" \出现在unix执行中的原因是什么?
当我直接从Shell脚本执行此操作时。
但是这些参数来自我构建PARAM变量的文本文件。 最后我做了一个sqlplus语句,其中我执行程序(参数,...);
这种情况下的问题是什么?
答案 0 :(得分:0)
相反怎么样?
PARAM=$SITE${PARAM#\$SITE}
从$PARAM
的开头删除文字字符串$ SITE,然后预先设定$SITE
的实际值。
> SITE=12
> PARAM='$SITE,90,1000'
> echo $PARAM
$SITE,90,1000
> echo "$SITE${PARAM#\$SITE}"
12,90,1000
答案 1 :(得分:0)
你有什么版本的ksh?
$ SITE=42
$ PARAM='$SITE,90,1000'
$ echo ${PARAM//\$SITE/$SITE}
42,90,1000
$ echo ${PARAM//'$SITE'/$SITE}
42,90,1000
$ ksh --version
version sh (AT&T Research) 93u 2011-02-08