【Shell】function中参数带空格的处理
一个shell脚本中,调用sqlplus,sqlplus写在一个function中,将SQL语句作为传入function中。
显然,SQL语句这个参数是带空格的,在执行过程中,只能识别出空格之前的一段儿代码,造成传入的不完整,无法执行。
1 2 3 4 5 6 7 8 9 10 |
# 部分代码 sql1='select switchover_status from v$database'; function msqlplus() { VALUE=`sqlplus -S / as sysdba << EOF $1; exit; END` } msqlplus $sql1; |
解决办法:传参的变量做一下调整,如下:
1 |
msqlplus "${sql1}"; |