我使用Java编写了一个shell脚本(test.sh)。此shell脚本实际上从一个文件到另一个文件执行复制作业。执行shell脚本后,我从 Console 打开了目录并输入了ls
。它在扩展名后显示输出文件?。
示例:foo.csv?
File execFile = new File(file);
FileWriter fwFile;
try {
fwFile = new FileWriter(execFile);
execFile.setExecutable(true);
BufferedWriter bwFile = new BufferedWriter(fwFile);
bwFile.write(strOutput.substring(0, 2));
bwFile.write("\r\n");
bwFile.write("cd " + strOutput);
bwFile.write("\r\n");
bwFile.write("mkdir " + strOutput);
bwFile.write("\r\n");
bwFile.write(strUnixPath);
bwFile.write("\r\n");
bwFile.write("cd " + strWorkingPath + IPlatinumConstants.FS+"lib"+IPlatinumConstants.FS+"Unx");
bwFile.write("\r\n");
bwFile.write("echo Cut Src Start time %time%");
bwFile.write("\r\n");
bwFile.write("cp " + " \"" + strSourceFilePath + "\" \""
+ strOutput + "copy_A\"");
bwFile.write("\r\n");
我的猜测是,在使用java创建shell脚本时,需要注意一些事情
答案 0 :(得分:0)
bwFile.write("\r\n");
用UNIX行结尾替换这些行
bwFile.write("\n");
或设置正确的行分隔符
System.setProperty("line.separator", "\n");
bwFile.newLine()