首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >通过脚本在命令行中设置NODE_PATH

通过脚本在命令行中设置NODE_PATH
EN

Stack Overflow用户
提问于 2016-09-23 17:41:54
回答 3查看 1K关注 0票数 0

/home/karl/myapp/path.sh:

代码语言:javascript
复制
#!/bin/bash
currentDir=$(
  cd $(dirname "$0")
  pwd
) 

echo $currentDir

上面的脚本回显了绝对路径。我想用echo的值设置如下所示的NODE_PATH变量。

代码语言:javascript
复制
NODE_PATH=path.sh ./node_modules/.bin/mocha -r babel-register -r babel-polyfill --reporter spec

目前,NODE_PATH实际上被设置为字符串"path.sh“,而不是它回显的绝对路径。

因此,我希望结果与示例NODE_PATH=/home/karl/myapp/ ./node_modules/.bin/mocha -r babel-register -r babel-polyfill --reporter spec相同。

有什么想法吗?

我还尝试了以下内容:bash path.sh | NODE_PATH="$currentDir" ./node_modules/.bin/mocha -r babel-register -r babel-polyfill --reporter spec

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2016-09-23 18:04:28

在Arif Khans answer的帮助下,我能够提出以下三个问题:

代码语言:javascript
复制
NODE_PATH="$(dirname $(readlink -f ./path.sh))" ./node_modules/.bin/mocha -r babel-register -r babel-polyfill --reporter spec

NODE_PATH="$(bash path.sh)" ./node_modules/.bin/mocha -r babel-register -r babel-polyfill --reporter spec

NODE_PATH="$(pwd)" ./node_modules/.bin/mocha -r babel-register -r babel-polyfill --reporter spec
票数 0
EN

Stack Overflow用户

发布于 2016-09-23 17:52:40

默认情况下,它将被视为字符串。你需要像你的例子中的"$(sh path.sh)"一样放在$(COMMAND)里面。所以完整的命令将是

代码语言:javascript
复制
NODE_PATH="$(sh path.sh)" ./node_modules/.bin/mocha -r babel-register -r babel-polyfill --reporter spec

希望这能对你有所帮助

票数 1
EN

Stack Overflow用户

发布于 2016-09-23 17:54:39

您可以通过执行以下命令完成此操作:

代码语言:javascript
复制
NODE_PATH=`./p.sh`'./node_modules/.bin/mocha -r babel-register -r babel-polyfill --reporter spec'

无论之间是什么,基本上都是执行特定的命令,然后追加所需的内容。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/39657578

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档