以下简单脚本显然不是那么简单。 直到我进入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
这会用带有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
$
在终端中并手动导航到目录并运行命令时,它可以正常工作。边缘建立并开始的地方。
答案 0 :(得分:1)
除非npm位于/c/sandBox/amazon-sandbox/CraigMonroe/platform.shared.auth-goggles/
中,否则执行PATH=$1
意味着您的PATH
仅引用该文件夹。
您的bash会话可能不再需要/usr/bin
或任何其他文件夹。
如所评论的,将添加到PATH应该可以
PATH="$1:${PATH}"