我想在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
。
我在这里错过了什么?
引用单引号内的字符串的字符。因此,您的美元符号将被视为普通字符。
你应该用双引号替换你的单引号让魔法发生,然后像这样逃避内部双引号:
"{\"targetDate\": \"$1\"}"
如果您需要阅读单引号,只需添加它们:
"'{\"targetDate\": \"$1\"}'"
由于双打报价,单引号不会产生任何影响。