我正在通过bash脚本运行一个Java程序. 我的计划是迭代for循环以创建要传递的参数:
lastLine=$(cat $info_file | wc -l)
countID=0
cat $info_file | while read fileID; do
initVar="${initVar} ${fileID}.txt"
countID=$(($countID + 1))
if [ "$countID" == "$lastLine" ]; then
echo $initVar > tmp_${SampleID}.txt
fi
done
InputListVar=$(cat tmp_${SampleID}.txt)
java ProgramX --input "${InputListVar[@]}" --output $output_file
但是,当我运行上面的脚本时,我收到以下消息:
Exception in thread "main" java.lang.IllegalArgumentException: Illegal character in path at index 15
我认为这是由于我在InputListVar
数组中提供的文件列表中的空间(如这里建议的Illegal character in path at index 16).我怎么才能解决这个问题呢?