如何使用shell脚本文件运行我的Node脚本

3
我正在使用Node创建一个个人网站,它将帮助我追踪我正在阅读的电子书。
目前,我需要进入项目文件夹并执行“node server.js”。
我想创建一个shell脚本,然后只需双击该文件即可。该文件应包含以下代码:
#!/usr/bin/env bash 
node server.js 

我遇到的第一个错误是找不到根目录下的 server.js 文件,我通过输入完整路径来解决了这个问题,然后应用程序中所有依赖项都出现了相同的错误。

(我从未使用过 shell 脚本)

我尝试做的事情是否可能?


8
为什么不让 shell 脚本先进入应用目录再运行它呢? - Sterling Archer
哦,是的!我没有想到那个@SterlingArcher。但是(既然我已经问了这个问题),是否还有另一种方法,即使我将项目移动到不同的位置,脚本仍然可以运行? - relidon
1
请问您能分享一下错误日志吗?通常情况下,依赖项的位置不会有任何问题。 - Tan Mai Van
1个回答

2
我假设你是Linux用户。
1. 在你的`$HOME/.profile`文件中设置路径。
``` export MY_COOL_NODE_APP=$HOME/nodejs/app/cool_app ```
2. 现在你的脚本将运行为:
``` node $MY_COOL_NODE_APP/server.js ```
因此,如果您移动应用程序,您需要更新您的`.profile`文件。

谢谢。这个方法确实有效,但我不知道为什么!有没有相关的读物可以帮助我理解你做了什么。谢谢。 - relidon
.profile 是配置文件,每次交互式登录(即打开终端或使用伪终端时)都会被 shell 读取。因此,在这种情况下,当您启动终端时,变量 MY_COOL_NODE_APP 被导出,因此可以被任何其他 bash 脚本使用。 - Yerken
我建议你阅读 http://tldp.org/LDP/abs/html/,以获得更多关于Bash脚本编写的见解,并对Linux系统有一些概括性介绍。 - Yerken

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接