我正在尝试在Ubuntu上运行C / C ++程序。
所以起初g++
在shell中根本不起作用,所以我使用命令安装它
sudo aptitude update && sudo aptitude install g++
所以它安装了它,当我编写最简单的程序时编译
g++ -Wall a.cpp -o d
但是当我尝试执行它时,只是在命令行上写了“d”并声明找不到该命令,但是如果我在shell中键入ls
它会告诉我有一个名为的可执行文件d
如果有人能为我解决问题,我很高兴
答案 0 :(得分:6)
您必须使用./d
(如果您在目录中)或可执行文件的完整路径。
当您键入“d”时,您的操作系统会自动进入$ PATH目录。您可以使用命令“which”找出任何可执行文件(如ls或rm)的完整路径。
如果不起作用,请检查文件是否可执行(“x”标志),如果需要,只需添加
chmod +x file
答案 1 :(得分:2)
可能是因为当前目录不在您的路径中。尝试
$ ./d
答案 2 :(得分:0)
当执行一个不在普通bin目录之一的文件时(只是把它想象成你没有从软件包安装的东西或者不是来自OS的东西)你需要提供路径到文件。
在这种情况下,您想要的是./d
答案 3 :(得分:0)
也可能是权限问题,您可能需要将文件设置为可执行文件。请参阅chmod命令。
答案 4 :(得分:0)
您需要为命令行指定文件的完整路径,以便它确切地知道它的位置。您可以使用.
前缀来完成此操作,前缀是“当前目录的路径”的简写。因此,如果您与d
文件位于同一目录中,则应该能够键入:
./d
这应该运行你的程序。
答案 5 :(得分:0)
我不喜欢我现在提出的解决方案,但我确实将它交给了一些习惯于AIX或Windows命令提示符的朋友(你不必使用./)并改为某些Linux风格:
- 在你的$ PATH环境变量中添加“./”(我把它放在最后,但是你可以选择它的优先级)。然后,您可以随时使用“d”。