如何将shell中带换行符的参数传递给ant脚本
我喜欢在jenkins的shell中使用2个参数执行ant任务,而arg1是一个带换行符的字符串如何将shell中带换行符的参数传递给ant脚本,shell,jenkins,ant,Shell,Jenkins,Ant,我喜欢在jenkins的shell中使用2个参数执行ant任务,而arg1是一个带换行符的字符串 arg1=test1; test2; test3 arg2=nothing_new; 如果字符串中有换行符,通常使用“”,但这不起作用: ant target1 -Dparam1="$arg1" -Dparam2=$arg2 Result: param1=test1 param2=test2 如果不使用“”,则将忽略第一个换行符后的字符串: ant target1 -Dparam1=$a
arg1=test1;
test2;
test3
arg2=nothing_new;
如果字符串中有换行符,通常使用“”,但这不起作用:
ant target1 -Dparam1="$arg1" -Dparam2=$arg2
Result:
param1=test1
param2=test2
如果不使用“”,则将忽略第一个换行符后的字符串:
ant target1 -Dparam1=$arg1 -Dparam2=$arg2
Result:
param1=test1
param2=nothing_new
我认为这就是你需要的:
arg1='test1;
test2;
test3'
arg2='nothing_new;'
ant target1 -Dparam1="$arg1" -Dparam2="$arg2"
我在字符串文本周围加了单引号,在变量周围加了双引号,所以在这两个地方都保留了空格
多行变量声明周围需要单引号,否则将设置arg1=test1
然后执行两个命令test2
和test3
您可以在任何地方使用双引号,但就我个人而言,我更愿意说明您是否希望参数展开(双引号)或不展开(单引号)。非常感谢!