ksh script failed while using -x

Hi,
I have a Kshell script that is failed if i am using the -x option.

$ cat ListOfFiles.lst
\+DATA_DM01/pudwh/datafile/dw_billing_tts_1                                     
\+DATA_DM01/pudwh/datafile/dw_billing_tts_2                                     
\+DATA_DM01/pudwh/datafile/dw_billing_tts_3                                     
\+DATA_DM01/pudwh/datafile/dw_billing_tts_4                                     
\+DATA_DM01/pudwh/datafile/dw_billing_tts_5                                     
\+DATA_DM01/pudwh/datafile/dw_billing_tts_6                                     
\+DATA_DM01/pudwh/datafile/dw_billing_tts_7                                     
\+DATA_DM01/pudwh/datafile/dw_billing_tts_8                                     
\+DATA_DM01/pudwh/datafile/dw_billing_tts_9                                     
\+DATA_DM01/pudwh/datafile/dw_billing_tts_10                                    
\+DATA_DM01/pudwh/datafile/dw_billing_tts_11                                    
\+DATA_DM01/pudwh/datafile/dw_billing_tts_12                                    
\+DATA_DM01/pudwh/datafile/dw_billing_tts_13                                    
\+DATA_DM01/pudwh/datafile/dw_billing_tts_14                                    
\+DATA_DM01/pudwh/datafile/dw_billing_tts_15                                    
\+DATA_DM01/pudwh/datafile/dw_billing_tts_16                                    
\+DATA_DM01/pudwh/datafile/dw_billing_tts_17 

cat test1.ksh
#!/bin/ksh
cat /home/oracle/ListOfFiles.lst
set -A FILE $(cat /home/oracle/ListOfFiles.lst)
echo FILE=${FILE[@]}
echo ${FILE[@]} | sed 's/ /,/g' | sed 's/\\//g' > /home/oracle/ListOfFiles.tmp

while executing the script WITHOUT the -x it finished successfully:
cat /home/oracle/ListOfFiles.tmp
+DATA_DM01/pudwh/datafile/dw_billing_tts_1,+DATA_DM01/pudwh/datafile/dw_billing_tts_2,+DATA_DM01/pudwh/datafile/dw_billing_tts_3,+DATA_DM01/pudwh/datafile/dw_billing_tts_4,+DATA_DM01/pudwh/datafile/dw_billing_tts_5,+DATA_DM01/pudwh/datafile/dw_billing_tts_6,+DATA_DM01/pudwh/datafile/dw_billing_tts_7,+DATA_DM01/pudwh/datafile/dw_billing_tts_8,+DATA_DM01/pudwh/datafile/dw_billing_tts_9,+DATA_DM01/pudwh/datafile/dw_billing_tts_10,+DATA_DM01/pudwh/datafile/dw_billing_tts_11,+DATA_DM01/pudwh/datafile/dw_billing_tts_12,+DATA_DM01/pudwh/datafile/dw_billing_tts_13,+DATA_DM01/pudwh/datafile/dw_billing_tts_14,+DATA_DM01/pudwh/datafile/dw_billing_tts_15,+DATA_DM01/pudwh/datafile/dw_billing_tts_16,+DATA_DM01/pudwh/datafile/dw_billing_tts_17

While it running with -x option it faild .
Please advise

sh -x test1.ksh
++ cat /home/oracle/ListOfFiles.lst
+ set -A FILE '\+DATA_DM01/pudwh/datafile/dw_billing_tts_1' '\+DATA_DM01/pudwh/datafile/dw_billing_tts_2' '\+DATA_DM01/pudwh/datafile/dw_billing_tts_3' '\+DATA_DM01/pudwh/datafile/dw_billing_tts_4' '\+DATA_DM01/pudwh/datafile/dw_billing_tts_5' '\+DATA_DM01/pudwh/datafile/dw_billing_tts_6' '\+DATA_DM01/pudwh/datafile/dw_billing_tts_7' '\+DATA_DM01/pudwh/datafile/dw_billing_tts_8' '\+DATA_DM01/pudwh/datafile/dw_billing_tts_9' '\+DATA_DM01/pudwh/datafile/dw_billing_tts_10' '\+DATA_DM01/pudwh/datafile/dw_billing_tts_11' '\+DATA_DM01/pudwh/datafile/dw_billing_tts_12' '\+DATA_DM01/pudwh/datafile/dw_billing_tts_13' '\+DATA_DM01/pudwh/datafile/dw_billing_tts_14' '\+DATA_DM01/pudwh/datafile/dw_billing_tts_15' '\+DATA_DM01/pudwh/datafile/dw_billing_tts_16' '\+DATA_DM01/pudwh/datafile/dw_billing_tts_17'
test1.ksh: line 3: set: -A: invalid option
set: usage: set [--abefhkmnptuvxBCHP] [-o option] [arg ...]

Thanks

sh != ksh, run it with ksh -x. ksh supports arrays, sh does not, hence the error.

You're not actually using arrays for anything, though, you're just doing string splitting which can happen without using arrays at all.

STR="`cat file`"
echo $STR

But you don't need to load the entire file into a string at all. There's usually no reason to do that.

$ awk -v ORS=" " '{ sub(/[\\]/, ""); $1=$1 } 1; END{ printf("\n") }' inputfile

+DATA_DM01/pudwh/datafile/dw_billing_tts_1 +DATA_DM01/pudwh/datafile/dw_billing_tts_2 +DATA_DM01/pudwh/datafile/dw_billing_tts_3 +DATA_DM01/pudwh/datafile/dw_billing_tts_4 +DATA_DM01/pudwh/datafile/dw_billing_tts_5 +DATA_DM01/pudwh/datafile/dw_billing_tts_6 +DATA_DM01/pudwh/datafile/dw_billing_tts_7 +DATA_DM01/pudwh/datafile/dw_billing_tts_8 +DATA_DM01/pudwh/datafile/dw_billing_tts_9 +DATA_DM01/pudwh/datafile/dw_billing_tts_10 +DATA_DM01/pudwh/datafile/dw_billing_tts_11 +DATA_DM01/pudwh/datafile/dw_billing_tts_12 +DATA_DM01/pudwh/datafile/dw_billing_tts_13 +DATA_DM01/pudwh/datafile/dw_billing_tts_14 +DATA_DM01/pudwh/datafile/dw_billing_tts_15 +DATA_DM01/pudwh/datafile/dw_billing_tts_16 +DATA_DM01/pudwh/datafile/dw_billing_tts_17