读取shell函数

时间:2018-01-04 06:52:38

标签: shell

我想在zshrc中为以下命令创建一个函数 -

node scripts/node_es6.js scripts/small_run_oneoff.js runMiaEventsStatsJob '{"targetDate": "02-01-2018"}'

我想将targetDate作为命令行参数传递。所以,我在zshrc -

中写了以下函数
function mia-events-stats() {
    node scripts/node_es6.js scripts/small_run_oneoff.js runMiaEventsStatsJob '{"targetDate": "$1"}'
}

然而,这不起作用。当我执行mia-events-stats 02-01-2018时,传递给实际运行代码的targetDate$1

我在这里缺少什么?

1 个答案:

答案 0 :(得分:2)

引用单引号内的字符串的字符。因此,您的美元符号将被视为普通字符。

你应该用双引号替换你的单引号以让魔法发生,然后逃避内部双引号:

"{\"targetDate\": \"$1\"}"

如果您需要阅读单引号,只需添加它们:

"'{\"targetDate\": \"$1\"}'"

单引号因双打引号而无法生效。