[英]How to Pass Quotes “” in a shell argument to java with argument containing white spaces
我目前正在尝试执行以下命令
./launch.sh -version 212 -file "/root/Desktop/local test/list.csv"
launch.sh
将参数分配给变量MY_VARIABLE
分配值后,文件路径周围的引号将被删除,并且echo $MY_VARIABLE
给出以下结果:
./launch.sh -version 212 -file /root/Desktop/local test/list.csv
现在launch.sh
调用Java并给出MY_VARIABLE
作为参数
但是Java拆分了文件的参数,并尝试处理/root/Desktop/local
并最终导致错误,而该文件应该采用/root/Desktop/local test/list.csv
。
在将值分配给变量以确保输入正确的参数时,如何忽略Java参数中的空格或保留引号。
您可以尝试添加两个转义的引号(\\“),如下所示:
"\"/root/Desktop/local test/list.csv\""
您可以通过多种方式实现此目的。 如Steafan所说,添加转义序列。或者您可以将此字符串存储到文本文件中,并将这些值从文件中读取为字符串
如何忽略Java参数中的空格
public class Arguments {
public static void main(String[] args){
String together = "";
for(int i=0; i < args.length; i++){
System.out.println( args[i] );
together = together.concat(args[i]);
}
System.out.println(together);
for(int i=0; i < args.length; i++){
System.out.println( args[i] );
}
}
}
修改该代码,您可以连接任意数量的所需参数。 之后,您可以together
使用单个变量
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.