Basic Bash脚本导致“ edge.sh:第13行:npm:未找到命令”在这里发现了问题,但没有解决

问题描述 投票:1回答:1

以下简单脚本显然不是那么简单。直到我进入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

该调用edge.sh带有arg的字符串路径(稍后有更多说明)

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
$

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

windows bash command git-bash
1个回答
1
投票

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

© www.soinside.com 2019 - 2024. All rights reserved.