这是我遇到的错误,由于一个变量的值应该为2(我使用a来获取)而失败select * from tabel
。我在该变量中得到空格。
+ 0 !=
2
./setjobs[19]: 0: not found.
如何从该变量中删除所有这些空格或换行符?灿tr
,sed
或什么帮助?
这是我在做什么:
set_jobs_count=$(echo "set heading off;
select count(*) from oppar_db
where ( oppar_db_job_name, oppar_db_job_rec ) in ($var) ;" | \
sqlplus -s ${OP_ORA_USER}/${OP_ORA_PASS}@$OPERATIONAL_DB_NAME)
如建议的那样工作:
| sed 's/[[:space:]]//g'
但是我仍然获得像这样的值:
set_jobs_count=
2
1
您可以在select语句中将字符串强制转换为int。如何完成取决于数据库,Sybase,Oracle,MySQL等
—
。– bsd
我该怎么做,我有oracle 9i
—
munish
使用sed
—
bsd
| sed 's/[[:space:]]//g'
折叠空白
感谢工作到一定程度,但变量的值仍然像
—
munish 2012年
set_jobs_count= 2
根据外壳的不同,您可能无需任何外部工具即可完成此操作。参见stackoverflow.com/a/3352015/587717
—
Edd Steel 2012年