У меня есть это:
str=`cat package.json`
prop="name"
my_val="$(node -e "console.log(JSON.parse(${str})[${prop}]);")"
echo "$my_val"
Я хочу прочитать свойство name
файла package.json. Я думаю, что это близко, но я получаю ошибку JSON.parse:
SyntaxError: Unexpected token o in JSON at position 1
at Object.parse (native)
at [eval]:1:18
at ContextifyScript.Script.runInThisContext (vm.js:25:33)
at Object.runInThisContext (vm.js:97:38)
Кто-нибудь знает, как исправить?
Это работает:
prop="name"
my_val="$(node -e "console.log(require('./package.json')['$prop'])")"
echo "json val: '$my_val'"
но мне интересно, как это сделать первым.