이것은 내가 얻는 오류이며 값이 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
그것을 내가 어떻게 어떻게, 내가 오라클 9i의이
—
munish
sed를 사용하여
—
bsd
| sed 's/[[:space:]]//g'
공백을 축소합니다
덕분에 어느 정도까지 작동하지만 여전히 변수의 값처럼 온다
—
munish
set_jobs_count= 2
쉘에 따라 외부 도구없이 수행 할 수 있습니다. 참조 stackoverflow.com/a/3352015/587717
—
EDD 철강