基本的Bash脚本导致在此处发现“ edge.sh:第13行:npm:未找到命令”的问题,但无法解决

时间:2019-10-29 01:39:40

标签: windows bash command git-bash

以下简单脚本显然不是那么简单。 直到我进入npm命令,整个脚本似乎都能正常工作。 我查看了这里的众多线程,但是没有一种解决方案可以解决该问题。

每个脚本都由父脚本开始。 这是父母:

#!/bin/bash/

authGogglesPath='/c/sandBox/amazon-sandbox/CraigMonroe/platform.shared.auth-goggles'

echo $'\nExecuting node commands for local running solution...\n'
#echo $(pwd)

# run the scripts
bash edge.sh ${edgePath} &

exec bash
  • 我检查了终端的路径,并且知道了
  • 我认为它可能正在作为另一个关联的配置文件运行,因此我尝试了npm的完整路径,但结果相同。
#!/bin/bash/

authGogglesPath='/c/sandBox/amazon-sandbox/CraigMonroe/platform.shared.auth-goggles'

echo $'\nExecuting node commands for local running solution...\n'
#echo $(pwd)

# run the scripts
bash edge.sh ${edgePath} &

exec bash

这会用带有arg字符串路径的edge.sh调用(更多内容供以后使用)

edge.sh是另一个简单的脚本

#!/bin/bash/

PATH=$1
#echo $PATH

if [ -z "${PATH}" ] ; then
    "PATH is empty! Aborting"
    exit 1
fi
cd "${PATH}"

echo $'\nExecuting Edge...\n'
npm run dev

我每次运行此程序都会收到:

$ bash edge.sh /c/sandBox/amazon-sandbox/CraigMonroe/platform.shared.auth-goggles/

Executing Edge...

edge.sh: line 13: npm: command not found

cmonroe@LP10-G6QD2X2 MINGW64 ~/cruxScripts
$

在终端中并手动导航到目录并运行命令时,它可以正常工作。边缘建立并开始的地方。

1 个答案:

答案 0 :(得分:1)

除非npm位于/c/sandBox/amazon-sandbox/CraigMonroe/platform.shared.auth-goggles/中,否则执行PATH=$1意味着您的PATH仅引用该文件夹。
您的bash会话可能不再需要/usr/bin或任何其他文件夹。

如所评论的,添加到PATH应该可以

PATH="$1:${PATH}"