我想在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
。
我在这里缺少什么?
答案 0 :(得分:2)
引用单引号内的字符串的字符。因此,您的美元符号将被视为普通字符。
你应该用双引号替换你的单引号以让魔法发生,然后逃避内部双引号:
"{\"targetDate\": \"$1\"}"
如果您需要阅读单引号,只需添加它们:
"'{\"targetDate\": \"$1\"}'"
单引号因双打引号而无法生效。