将命名参数传递给Shell中的程序

时间:2019-07-07 12:07:56

标签: bash quotes

我想将一些其他命名参数传递给Shell脚本中的程序。说我有以下脚本:

#!/bin/bash
FILE="/root/serv er/conf/config.yml"
EXEARG="-configFile \"$FILE\""
"/root/serv er/bin/server" $EXEARG

我将EXEARG放在单独的行上,因为我可能会在另一个过程中对其进行更改(例如jenkins build)。但是bash -x myscript给了我这个:

+ FILE='/root/serv er/conf/config.yml'
+ EXEARG='-configFile "/root/serv er/conf/config.yml"'
+ '/root/serv er/bin/server' -configFile '"/root/serv' 'er/conf/config.yml"'

我期望:
'/root/serv er/bin/server' -configFile "/root/serv er/conf/config.yml"
我该怎么办?

1 个答案:

答案 0 :(得分:0)

使用@Cyrus推荐的工具,我通过SC2089

解决了该问题