shell脚本里怎么拼接出这样的字符串SELECT "SNO" || '|' || "TYPEID" || '|' FROM "P10_OUT_EMPNO_SC"
就比如定义一个变量,然后使用这个变量的时候要求他传递的字符串是这个样子的
在Linux Shell脚本中可以使用多种方式拼接字符串,例如:
tableName="P10_OUT_EMPNO_SC"
sql="SELECT \"SNO\" || '|' || \"TYPEID\" || '|' FROM \"$tableName\""
echo $sql
在双引号字符串中,可以直接引用变量,并使用转义字符 \
转义需要保留的特殊字符,如双引号 "
和竖线 |
。
tableName='P10_OUT_EMPNO_SC'
sql='SELECT "SNO" || '\''|'\'' || "TYPEID" || '\''|'\'' FROM "'$tableName'"'
echo $sql
在单引号字符串中,不能直接引用变量,需要使用单引号与变量插值组合,例如 'hello'"$name"'!'
。
tableName="P10_OUT_EMPNO_SC"
read -r -d '' sql << EOF
SELECT "SNO" || '|' || "TYPEID" || '|' FROM "$tableName"
EOF
echo $sql
使用 here document 可以方便地拼接多行字符串。其中,<< EOF
表示后面的字符串作为 here document 的内容,EOF
表示结束 here document。
希望这些方法能够帮助你解决问题。