以下简单脚本显然不是那么简单。直到我进入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
#!/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
$
在终端中并手动导航到目录并运行命令时,它可以正常工作。边缘建立并开始的地方。
除非npm位于/c/sandBox/amazon-sandbox/CraigMonroe/platform.shared.auth-goggles/
中,否则执行PATH=$1
表示PATH
仅引用该文件夹。bash会话可能不再需要/usr/bin
或任何其他文件夹。