这是另一个(可能)noob问题。让我们假设我有一个用C编写的简单的1文件程序(称为myProg.c)。当我想在Linux / MacOSX中编译这个程序时,我输入“gcc -o haha myProg.c”。生成的可执行文件现在名为“haha”。当我想运行这个程序时,我需要在控制台中输入“./haha”。
如果要始终停止输入“./”,我需要做什么?如何通过输入“haha”来确保我的程序将被调用?我检查了文件“haha”的权限,它是可执行的。我是否正确认为“./”表示可执行文件的路径,即文件存在于当前目录中(“。”)??
答案 0 :(得分:5)
默认情况下,当前目录不是unix派生的OS中的PATH的一部分。这是一项安全措施,您可以但不应该通过修改.bash_profile
或.bashrc
不在路径中包含当前目录的原因:假设您是root用户,并且您有恶意用户。该用户创建例如他的主目录中有一个ls
可执行文件,它执行的操作不太好。如果您正在查看此用户的操作,并在其主目录中键入ls
,则将执行 ls。
如果您只想更改它,请将PATH="${PATH}:."
添加到.bashrc
和.bash_profile