问题描述
我正在运行一个bash脚本,该脚本在Mongo shell中执行一个javascript文件:
outerscript.sh
SCRIPTPATH="$( cd "$(dirname "$0")" ; pwd -P )"
LOGDIR=~/logs
LOGFILE=$LOGDIR/outerscript.log
mongo < $SCRIPTPATH/jsscript.js >> $LOGFILE 2>&1
jsscript.js
load(myVars.js);
MongoDB是v4.0.19
该脚本可以在本地或远程服务器上运行,并且可以从命令行或cron作业运行,并且我想加载myVars.js,该文件始终与externalscript.sh放在同一文件夹中
从cron作业运行externalscript.sh时,我找不到加载myVars.js的方法。
pwd()返回用户的主目录,而不是当前正在运行的脚本的位置,因此对cron作业不起作用:
load(pwd() + '/myVars.js');
对于cron作业,这也不起作用,我猜也是出于相同的原因:
load('./myVars.js');
或者,还有另一种将变量传递到我的JavaScript文件中的方法,该方法仍然可以让我将输出记录到日志文件中?据我所知,您不能将--eval与将输出记录到文件中结合使用,而且我还没有找到直接从JS文件内部读取环境变量的方法。
谢谢!
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)