我在将参数从bash文件传递到C程序时遇到一些问题。 我正在使用bash脚本来编译C程序,如下所示:
gcc -O0 -m32 -msse filec1.c file2.c -lm -o fileoutuput
./fileoutput $1 $2 $3 $4 $5 $6 $7 $8 $9 $10 $11 $12 $13 $14 $15 $16 $17 $18 $19 $20 $21
现在,如果我在bash文件中打印每个参数,那是正确的,但是如果我在C文件中执行此操作,则参数在$ 8之后出错。 有人可以帮我吗?
答案 0 :(得分:0)
如果要在bash脚本中引用bash参数,则可以使用"$@"
而不是单个参数,它扩展为您传递给它的任何参数。
修改
https://stackoverflow.com/a/3898681/152016请参阅bash手册页,解释该特殊变量的含义,还有其他有用的变量,例如$#
和$?
。
感谢@DanielPryden评论,在变量周围添加了引号。在这里看到一个很好的解释,原因:https://stackoverflow.com/a/3990540/152016