用指令在linux系统中操作文件时,如果文件名称中包含空格的话,如:
libreoffice6.1 --headless --invisible --convert-to pdf:writer_pdf_Export /files/business/文 件 空格 问题 排查 第二 波 .20190829111359.TXT --outdir /files/business
就会出现报错,如下:
Error: source file could not be loaded
那么这个时候就应该在全路径或者文件名上增加单引号或双引号
如下:
libreoffice6.1 --headless --invisible --convert-to pdf:writer_pdf_Export ‘/files/business/文 件 空格 问题 排查 第二 波 .20190829111359.TXT’ --outdir /files/business
或者
libreoffice6.1 --headless --invisible --convert-to pdf:writer_pdf_Export /files/business/‘文 件 空格 问题 排查 第二 波 .20190829111359.TXT’ --outdir /files/business
同时说一下二者区别:双引号不输出带特殊字符的字符,如果要忽略特殊字符,就可以利用在符号前加" \ "来转义。单引号则是里面写的啥就传啥
echo “my $like is apple”
my is apple
echo ‘my $like is apple’
my $like is apple
还有需要注意的是,如果需要在java代码中操作系统,应按如下发布指令
String command = “你要执行的指令”;
Runtime.getRuntime().exec(new String[]{"/bin/sh", “-c”, command});
第一个参数和第二个参数固定填如上值,第三个参数是你想执行的指令