我目前正在尝试执行以下命令
./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参数中的空格或保留引号的同时将值赋给变量以确保给出正确的参数。
答案 0 :(得分:0)
您可以尝试添加两个转义引号(\“),如下所示:
"\"/root/Desktop/local test/list.csv\""
答案 1 :(得分:0)
有很多方法可以实现这一点。像Steafan所说的那样添加转义序列。或者你可以将这些字符串存储到一个文本文件中并将这些值从文件中读取为字符串
答案 2 :(得分:0)
如何忽略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
用作单个变量