在 Bash 脚本中调用程序?

在 Bash 脚本中调用程序?

我是 Bash 的新手,似乎无法让它编译一些 C 代码而不会出现烦人的消息。我敢肯定是分号的问题,因为如果我删除或更改它们,它几乎会崩溃。我收到的警告/错误是“: not found: :”,每行重复出现一次,没有其他内容。任何帮助都非常感谢。

#!/bin/bash
GCC=/usr/bin/gcc ;
INSERTS="10000 20000 50000 100000 150000 250000 375000 500000 750000 1000000"
CODESRC=./code.c;
#compile with options
$GCC -DDEBUG -o codetest $CODESRC;
#run with parameters
./codetest $INSERTS;

编辑:

代码编译并运行良好。如果我删除所有分号并尝试使用运行它,sh test.sh我会得到以下内容。

test.sh: 6: /usr/bin/gcc
: not found
test.sh: 8: ./codetest: not found

编辑: 啊,我真傻;这是一个 windows/unix 行尾问题,在运行 ./test.sh 并得到/bin/bash^M: bad interpreter

答案1

分号不是必需的,但除此之外脚本看起来还不错。

  • 您可以更具体地说明您遇到的错误吗?
  • 当您在脚本之外尝试时,代码是否能正确编译和运行?
  • 您如何运行该脚本?

编辑

  • 那肯定是 gcc 的位置?输出是什么which gcc
  • 您是否从与代码相同的目录运行脚本?
  • 由于您的脚本指定它应该使用 来运行,因此/bin/bash您应该将其作为 来运行./test.sh,而不是sh test.sh

相关内容