0
我在学习bash脚本,并试图编写一个脚本来检查nodeJs是否已安装,如果不是,请安装它。已安装NodeJs,但无法执行它。用bash脚本把它弄糊涂
NodeJs安装在我的系统中。在搞乱之前,执行node -v
时得到的输出是v4.x.x.
然后,我是继this post和我在剧本写了下面的代码:
#!/bin/bash
if [ command -v node >/usr/bin/node 2>&1 ]; then
# save node version in a string variable.
STRING=cat | node -v
echo "NodeJs version: " ${STRING}
else
echo "NodeJs not found."
fi
我执行我的脚本(testScript.sh),但现在当我运行node -v
输出我得到的是:
/usr/bin/node: line 1: ./testScript.sh:: No such file or directory
我不知道我打破了什么......任何想法?非常感谢。
感谢您的快速回答。现在我修改了脚本并运行了它。但我仍然无法运行'node -v'。它一直给我同样奇怪的输出。运行错误版本的脚本时是否修改了某些内容? (带有/ usr/bin /节点的那个)。谢谢! –
@PablitooMenii是的,你做到了。您将不得不重新安装节点。 –
@PablitooMenii:是的,你确实修改了一些东西。您删除了节点可执行文件并将其替换为脚本的输出。这就是'command -v node>/usr/bin/node'的含义。 – slebetman