2
这里是我使用来选择从数据库的字符串的代码。拆分,然后写入一个文本文件。KSH分割字符串数组写入文件
#Get information from DB for the given entrynum
RETVAL=`sqlplus -s username/[email protected] <<EOF
SET PAGESIZE 0 FEEDBACK OFF VERIFY OFF HEADING OFF ECHO OFF
SELECT (entrynum|| '-'||path||'-'|| syear||'-'|| eyear||'-'|| type) as RET
FROM entrydetails WHERE entrynum = 123;
EXIT;
EOF`
print "$scriptname return value :$RETVAL " 1>&2
#Output :123-/userx/data/tt-2015-2015-1
#split each value into an array
arr=$(echo $RETVAL | tr "-" "\n")
#write to text variable
writeText="export entrynum=${arr[0]}\n
export path=${arr[1]}\n
export Syear=${arr[2]}\n
export eyear=${arr[3]}\n
export type=${arr[4]}";
#write text to file
echo $writeText > ../in/log_file
输出我的文件中得到的是
export entrynum=123 /userx/data/1 2015 2015 1
export path=
export syesr=
export eyear=
export type=
预期的结果是
export entrynum=123
export path=/userx/data/1
export syesr=2015
export eyear=2015
export type=1
得到一个语法错误“(”意外 – xGen
它为我的作品 - 的ksh 版本SH(AT&T研究所)93u + 2012-08-01 - 另一种方法是使用一个明确的一套 - 我更新了答案,说明这 – cms
尝试这检查verion [“'echo”\ c“| grep的C'”] && ksh93的回声回声|| ksh88,是ksh88。我仍然得到同样的错误 – xGen