以下是我需要运行的一组脚本,但我不确定它所引用的路径?我应该将整个脚本放在.sh 文件中然后运行,还是使用其他方法执行节点项目?
#!/usr/bin/env bash
redis-server --save "" &
sleep 1
redis-cli flushall
cd ~/repos/class-prj/class-prj
npm run app.js
答案1
您应该修改脚本以包含redis-server
可执行文件的完整路径,并且应该避免cd
或至少在之后恢复当前工作目录(例如使用pushd
和popd
):
#!/usr/bin/env bash
~/redis-3.0.5/src/redis-server --save "" &
sleep 1
redis-cli flushall
pushd ~/repos/class-prj/class-prj
npm run app.js
popd
您可以将此脚本保存在任意名称的文件中,文件扩展名无关紧要,也可以省略。重要的是让它对您的用户可执行:
chmod u+x /PATH/TO/SCRIPT
./SCRIPT
现在,您只需输入其完整绝对路径或相对路径即可运行该脚本。这意味着,如果它在当前目录中,您必须写为相对路径!