osx在当前目录中找不到可执行文件

时间:2012-04-01 02:36:07

标签: macos chmod

当chmod文件时我卡住了。

this page的底部,关于“ Scripts ”,我根据指南进行了练习。但是出现了错误。 Mac OS X,下面列出的命令行信息。

$ nano myscript
$ chmod 755 myscript
$ myscript
-bash: myscript: command not found

我很困惑。你能指出这个问题吗?任何回复将不胜感激。 谢谢!

2 个答案:

答案 0 :(得分:2)

.不在你的道路上。使用./myscript

答案 1 :(得分:2)

如果键入echo $PATH,您将看到将按顺序检查可执行文件的目录列表。出于安全原因 * ,您当前的路径可能在该列表中。要在当前目录中执行文件.,请使用./myscript


* 虽然看起来不方便,但如果要在那里执行文件,则有一个很好的理由要求您明确指定当前目录。假设的情况,您只需键入文件的名称即可在当前目录中执行该版本。现在想象有人要在名为ls的目录中创建一个脚本,其内容为rm *。更糟糕的是,名为ssh的恶意脚本可能会捕获您的登录凭据。

您可以通过更改PATH变量以包含当前目录来更改此行为:export PATH=$PATH:.(最后搜索当前目录)或export PATH=.:$PATH(搜索当前目录)目录第一)。但是你需要意识到安全风险,然后决定这是一个好主意。

这就是为什么默认情况下,linux系统永远不会<{1}}在.中为root用户包含PATH - 唯一比执行恶意文件更糟糕的事情就是执行拥有root权限时的恶意文件。