これは私が得ているエラーであり、値が2になるはずの変数のために失敗しています(これを使用してこれを取得しています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があります
—
12
sedを使用すると、
—
bsd
| sed 's/[[:space:]]//g'
空白が折りたたまれます
おかげである程度は機能しますが、変数の値は次のようになります
—
12
set_jobs_count= 2
シェルによっては、外部ツールなしで実行できる場合があります。参照してくださいstackoverflow.com/a/3352015/587717
—
エドスチール