所有,
我试图使用命令replace来保持文件中的命令行参数。 我最初的想法是简单地将命令行参数放在一个文件中的单行,然后调用我的命令作为command $( cat [arguments-file] ) other arguments
然而,这似乎并没有正确的工作。
我开始做一些debugging,通过set -x
打开bashdebugging,命令的结果是
command $( /tmp/arg-file ) File.xml + command -m '"Manhattan' Item 'MockService"' -P 'Hellp=Value' File.xml
我的参数文件的内容是
-m "Manhattan Item MockService" -P Hellp=Value
有没有人能够解释为什么在命令replace期间添加单引号?
他们不是。 单引号只能通过set -x
,以便将这些单词消除歧义给读者。 但是,像这样存储命令参数最多是有问题的。 考虑每行存储一个参数,并使用read
和一个数组来生成命令行。