我正在客户端中为 MongoDB shell 编写 JavaScript 代码。如何获取正在执行的脚本文件的路径?请注意,这不是 的值pwd()
。例如,我正在/my_scripts/utils.js
执行/my_path
:
> mongodb --nodb /my_scripts/utils.js
所以pwd()
返回/my_path
,但我怎样才能获得pwd()
当前执行文件的完整路径(或值的相对路径),即/my_scripts/utils.js
?
我正在客户端中为 MongoDB shell 编写 JavaScript 代码。如何获取正在执行的脚本文件的路径?请注意,这不是 的值pwd()
。例如,我正在/my_scripts/utils.js
执行/my_path
:
> mongodb --nodb /my_scripts/utils.js
所以pwd()
返回/my_path
,但我怎样才能获得pwd()
当前执行文件的完整路径(或值的相对路径),即/my_scripts/utils.js
?
如果您仍然想知道,您可以从脚本内部调用 pwd() 以获取脚本所在的路径
有关 pwd() 的更多信息可以在 MongoDb 手册中找到: https ://docs.mongodb.com/manual/reference/method/pwd
您可以从 shell 脚本运行 utils.js。
用法:
./run.sh path_to_utils.js
run.sh
#!/bin/sh
// $1 is path_to_utils.js
echo $1
mongo < $1
例如:
./run.sh ~/Downloads/t.js
/Users/sunus/Downloads/t.js
MongoDB shell version: 2.6.2
connecting to: test
Hello
bye
您可以尝试bash shell/a.sh
,将pwd
命令写入文件a.sh