在脚本内部执行的编译命令出现错误,在脚本外部执行则没问题...可能是 gcc

在脚本内部执行的编译命令出现错误,在脚本外部执行则没问题...可能是 gcc

我有一个名为 buildgcc.sh 的脚本,其内容如下。

mymac$more buildgcc.sh 
g++ -Wno-write-strings A.cpp B.cpp B.cpp c.cpp D.cpp E.cpp F.cpp artgdg.cpp G.cpp H.cpp I.cpp J.cpp K.cpp L.cpp M.cpp N.cpp O.cpp P.cpp

当我运行脚本时出现错误:

mymac$./buildgcc.sh
No such file or directory+-4.2: P.cpp

但是当我将脚本的内容复制/粘贴到命令行时:

mymac$g++ -Wno-write-strings A.cpp B.cpp B.cpp c.cpp D.cpp E.cpp F.cpp artgdg.cpp G.cpp H.cpp I.cpp J.cpp K.cpp L.cpp M.cpp N.cpp O.cpp P.cpp
mymac$

它运行良好...有人能告诉我这里发生了什么事吗?

答案1

你需要把

#!/bin/sh

在脚本的开头。否则系统不知道 .sh 文件到底是什么。

或者,你可以这样做

sh buildgcc.sh

在命令行中。

相关内容