我是 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