/home/karl/myapp/path.sh:
#!/bin/bash
currentDir=$(
cd $(dirname "$0")
pwd
)
echo $currentDir上面的脚本回显了绝对路径。我想用echo的值设置如下所示的NODE_PATH变量。
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
发布于 2016-09-23 18:04:28
在Arif Khans answer的帮助下,我能够提出以下三个问题:
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发布于 2016-09-23 17:52:40
默认情况下,它将被视为字符串。你需要像你的例子中的"$(sh path.sh)"一样放在$(COMMAND)里面。所以完整的命令将是
NODE_PATH="$(sh path.sh)" ./node_modules/.bin/mocha -r babel-register -r babel-polyfill --reporter spec希望这能对你有所帮助
发布于 2016-09-23 17:54:39
您可以通过执行以下命令完成此操作:
NODE_PATH=`./p.sh`'./node_modules/.bin/mocha -r babel-register -r babel-polyfill --reporter spec'无论之间是什么,基本上都是执行特定的命令,然后追加所需的内容。
https://stackoverflow.com/questions/39657578
复制相似问题