Shell 脚本 MacOS:使用脚本路径作为文件夹路径的一部分

Shell 脚本 MacOS:使用脚本路径作为文件夹路径的一部分

我学习 MongoDB 并尝试使用数据库。我经常运行数据库服务器,因此需要经常更改某些数据库的路径。我为此编写了一个脚本

--dbpath <path_to_some_folder>/data/db

但我希望我的脚本使用自身的路径,这样我就不必<path_to_some_folder>每次将脚本复制到不同的文件夹时都进行设置。如何将脚本路径用作数据库路径的一部分?就像这样:

--dbpath <path_to_the_script_folder>/data/db

答案1

这是 Bourne shell 脚本,可能需要针对另一个 shell 进行一些调整(以及正确的 mongo 语法)。

#!/bin/sh
dir=`dirname $0`
mongo --dbpath $dir/data/db

答案2

不清楚 MongoDB 是否可以使用相对路径,但您可以尝试这样做:

--dbpath ./data/db

点 ( .) 的意思是“相对于当前目录”。

当然,这只有在您以与该数据相同的路径启动 MongoDB 时才有效。如果您在一个地方启动 MongoDB,但数据目录在另一个地方,则需要更强大的解决方案。

相关内容