提问人:user3078335 提问时间:5/12/2017 更新时间:5/12/2017 访问量:107
Java 引用字符串变量
Java Quoting string variables
问:
我想把它打印出来
ansible-playbook delete.yml --extra-vars “host=5.955.595 user=root pass=anotherpw vm=myVm”
这是我的代码。但它似乎不起作用。
String ip = "5.595.595";
String usr = "root";
String pw = "anotherpw";
String vmName = "myVm";
String p = "ansible-playbook delete.yml --extra-vars \"host\"= '"+ip+"' \"user\"='"+usr+"' \"pass\"= '"+pw+"' \"vm\"= '"+vmName+"' " ";
System.out.println(p);
答:
2赞
Andreas
5/12/2017
#1
你从取字符串开始。
ansible-playbook delete.yml --extra-vars "host=5.955.595 user=root pass=anotherpw vm=myVm"
然后你转义所有特殊字符。在本例中,这只是 2 个双引号。
ansible-playbook delete.yml --extra-vars \"host=5.955.595 user=root pass=anotherpw vm=myVm\"
然后用双引号将其括起来,使其成为 Java 字符串文本。
"ansible-playbook delete.yml --extra-vars \"host=5.955.595 user=root pass=anotherpw vm=myVm\""
然后,删除硬编码值,并将其替换为具有动态值的变量的字符串连接。
"ansible-playbook delete.yml --extra-vars \"host=" + ip + " user=" + usr + " pass=" + pw + " vm=" + vmName + "\""
然后,将其分配给一个变量。
String p = "ansible-playbook delete.yml --extra-vars \"host=" + ip + " user=" + usr + " pass=" + pw + " vm=" + vmName + "\"";
然后,将其包装在多行上,以使其更具可读性。
String p = "ansible-playbook delete.yml --extra-vars \"host=" + ip +
" user=" + usr +
" pass=" + pw +
" vm=" + vmName + "\"";
看看它有多容易,如果你只是一步一个脚印?
评论
0赞
user3078335
5/13/2017
哇。。。非常感谢。我绝对应该一步一步来:)
下一个:替换引号之间的一些特殊字符
评论
String.format(...)
StringBuilder
String p = "ansible-playbook delete.yml --extra-vars \"host= "+ip+" user="+usr+" pass= "+pw+" vm= "+vmName+"\"";