【发布时间】:2017-05-15 01:52:58
【问题描述】:
我创建了一个文件,1.sh,作为
c++ -c file1.cpp
c++ 文件1.o -o 文件1
我尝试在 Windows 上的 bash Ubuntu 上执行它。它告诉我
: 没有这样的文件或目录
c++:致命错误:没有输入文件
编译终止。
但是,如果我执行
c++ -c file1.cpp
c++ 文件1.o -o 文件1
直接可以正常编译文件(file1.cpp)。
我的问题是,.sh 文件不起作用的原因是什么以及如何解决?
【问题讨论】:
-
似乎 c++ 是您系统中的可用命令。您可以尝试在脚本中使用命令的绝对路径代替 c++。您可以使用命令
which c++找到它。 -
我试图将 .sh 文件修改为 /usr/bin/c++ -c file1.cpp /usr/bin/c++ file1.o -o file1 ,仍然告诉我:没有这样的文件或目录
-
检查
/usr/bin是您的环境变量PATH的一部分。您可以使用以下命令检查它,echo $PATH如果不是,请通过在您的主目录中的.profile文件中修改来包含它。 -
c++可能是g++的别名,您的脚本可能无法理解。也许您没有使用您认为的 shell 执行它,或者终端的配置与执行脚本的配置不同。 -
如何开始您的
.sh文件?从 bash 或使用双击它?如果你不从 bash 启动它,你应该检查 .sh 文件中的工作目录,即将它输出到控制台,这样你就可以验证你是否在预期的目录中。
标签: c++ bash shell ubuntu windows-subsystem-for-linux