Bash 猛击。用法:'/';

Bash 猛击。用法:'/';,bash,Bash,我确实试着在网上找到答案,但不幸的是,我空手而归。结合其他关键字搜索“/”会带来很多点击率,但没有一个有帮助 不管怎样,正如你可能知道的,我对MacOs还是相当陌生的。我是从贝壳里跑出来的。 我将cd放入/bin文件夹,并使用以下命令启动mongo守护程序: “/蒙哥德” 如果我只输入'mongod',我会得到以下错误: “-bash:mongod:未找到命令” 这是什么意思 “./” “/mongod”代表什么?为什么需要它?为什么我不能通过键入mongod来执行mongo呢。毕竟,我在正确

我确实试着在网上找到答案,但不幸的是,我空手而归。结合其他关键字搜索“/”会带来很多点击率,但没有一个有帮助

不管怎样,正如你可能知道的,我对MacOs还是相当陌生的。我是从贝壳里跑出来的。 我将cd放入/bin文件夹,并使用以下命令启动mongo守护程序:

“/蒙哥德”

如果我只输入'mongod',我会得到以下错误:

“-bash:mongod:未找到命令”

这是什么意思

“./”

“/mongod”代表什么?为什么需要它?为什么我不能通过键入mongod来执行mongo呢。毕竟,我在正确的目录中

毕竟,我在正确的目录中


但该目录不在
路径中。问题的要点是,当shell想要执行某件事情时,它会查看目录列表(在名为
PATH
的变量中指定)并且当前目录不在该列表中,正如shell在回答中所解释的那样,shell尝试将您输入的命令与
路径中列出的目录中的可执行文件相匹配

虽然可以将当前目录添加到
路径
,但这样做可能不是一个好主意。这为Linux默认情况下不添加它提供了一些很好的理由:

这是一种堵塞安全漏洞的措施。您不能运行命令 在当前目录中,而不专门调用它们

ie./myscript.sh

要停止编写恶意shell脚本,请将脚本放入 一个无辜的位置,例如/tmp和让root运行脚本。 root会运行一个邪恶的脚本吗?如果脚本名为“ls”,并且 root做了一个列表,脚本将自动运行


与windows非常不同。。。谢谢,我现在明白了。@santiagoIT如果你感兴趣,你可以把
放在
路径中,尽管这很危险。在Windows中,你可以进入目录键入
dir
,而不用担心
dir.bat
出现。在Unix中,情况并非如此。您可能也对此感兴趣。还有,可能是的副本