我正在尝试编写一个非常简单的bash
函数,它使用一行node
脚本从 JSON 文件中读取键的值。以下是当前的内容utils.bash
:
#!/bin/bash
project_name() {
echo $(node -e "require('../package.json').name;")
}
是的,我知道有一些工具可以让我更直接地访问 JSON 数据,但所有开发团队都已经有了node
,所以它是一个现有的依赖项,而不是一个新的依赖项。
我已使该文件可执行,但是当我source scripts/utils.bash
尝试(从命令行)引用该函数时,如下所示:
PROJECT_NAME=project_name
输出只是我输入的行。当我尝试简单地执行时project_name
,出现node
错误:
Error: Cannot find module '../package.json'
该utils.bash
脚本位于项目的scripts
文件夹中,package.json
文件位于父文件夹中。我从父文件夹执行此操作(尽管我希望这无关紧要)。我尝试过 import './package.json'
,但这也给了我一个错误。
我想要的最终结果是能够通过多个脚本引用name
键的值。project.json
bash
我怎样才能做到这一点?