假设我有一个脚本。
chmod +x myscript
现在我要运行它
./myscript
但是有什么办法吗我可以通过输入来运行它
myscript
???
答案1
我遇到了同样的问题,到现在似乎还没有明确的答案。
这个问题的解决方法是将 添加export PATH=.:$PATH
到您的.bash_profile
。这将在搜索命令时将当前目录添加到 unix 搜索路径中。了解安全风险这样做。
答案2
将脚本所在目录的路径添加到 PATH 变量中:
export PATH=$PATH:/path/to/directory
答案3
在任何 /bin/、/usr/bin 等中创建脚本文件的符号链接。
ln -s /path_to_script/myscript /usr/bin/myscript
答案4
将脚本放入主目录中的目录中。然后检查是否~/bin
已添加到您的。它可能已经添加到了(尽管您可能需要注销并重新登录)。bin
~/bin
PATH
你可以将 PATH 改为包含.
,但这样做很危险。这会导致安全问题。例如
最明显的。
如果你将 PATH 设置为首先查找.
:那么如果目录中a
有一个可执行文件ls
做了坏事。然后你输入cd a; ls
。然后就会发生坏事。
我只记得一个方便的例子。如果你将 PATH 设置为.
最后查看:然后你创建一个名为的程序test
,当你运行它时似乎什么都没有发生(这是因为它正在运行具有更高优先级的程序,并且没有输出,只有一个退出代码)。也可能存在一个问题,如果安装了新软件,这个新软件可能会掩盖你的程序(尽管这与 PATH 末尾的程序test
没有什么不同)。~/bin
我家里有两个目录:~/bin
位于 PATH 末尾和~/bin/override
PATH 开头。~/bin/override` 大部分是空的。