所以通常我会用2个这样的参数启动mongod进程
~$ mongod --dbpath /media/nhuyvan1106/0CB6-189A/linux/mongodb/data --logpath /media/nhuyvan1106/0CB6-189A/linux/mongodb
。
但是我不想每次都指定参数,因此我将它们保存到一个文本文件mongo.txt
,其内容如下。
--dbpath /media/nhuyvan1106/0CB6-189A/linux/mongodb/data --logpath /media/nhuyvan1106/0CB6-189A/linux/mongodb
然后我把cat
那个文件并mongod
像这样通过管道传输
~$ cat mongod.txt | mongod
但是它不起作用,mongod
仍然/data/db
对参数使用默认值,--dbpath
而对其他参数使用默认值。有谁知道我能做到这一点吗?
您在正确的路径上,但是您正在尝试通过管道传递的输出cat mongod.txt
。管道并不意味着输出将被添加为参数。取而代之的是,当您通过管道传输数据时,接收程序必须知道如何处理管道传输的数据。
例如,如果我们有banana.txt
文本Test:
cat banana.txt | echo
echo "$(cat banana.txt)"
我们要求的不是管道,而是求bash
值cat banana.txt
,并在执行之前立即将其插入echo
。
尽管有成千上万的实际示例,但您希望在何处进行管道传递的一些示例是使用诸如grep
和sed
,和之类的工具dd
。查看“ bash管道”,“ bash评估/扩展”以及诸如STDIN之类的东西。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句