所以,我发布的第一个问题是相当基本的,所以我希望它没有被收到。我确实搜索了谷歌以及这里的答案,但没有找到答案。
我刚创建了一个控制台应用程序,其中包含代码:linux上的块,编译它然后在代码中运行:块。工作得很好。然后我打开linux bash shell,cd到二进制文件的位置,然后尝试从那里运行它,没有骰子。我的一个linux好友过来告诉我尝试./在它之前。中提琴,有效。我傻眼了,因为我认为./只需要执行shell脚本。我检查了由g ++构建的二进制文件的文件权限,它们是:-rwxrwxr-x
我找到了有关使用代码构建Hello World应用程序的其他教程:块,他们还说要使用./
在命令行上执行为什么会这样?另外,如何构建控制台应用程序或任何其他二进制应用程序,以便./不需要执行它?我假设有可能以某种方式看到,因为绝大多数内置的linux命令(如grep等)都不需要./来执行。
谢谢,伙计们。
答案 0 :(得分:0)
要在类UNIX系统上运行可执行文件,您需要了解路径解析。如果可执行文件的路径未包含在PATH
环境变量中(并且.
有时不包含),则需要自己指定。
将.
附加到PATH
,如下所示:
export PATH=$PATH:.
您可以在不添加./
的情况下从当前工作目录运行可执行文件。但请注意,这在多用户系统中可能不安全,因为其他用户可以在未经您明确许可的情况下为您在组或世界可写目录中提供可执行文件。