将参数从bash脚本传递到C程序的问题

时间:2019-06-01 12:48:06

标签: c bash

我在将参数从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之后出错。 有人可以帮我吗?

1 个答案:

答案 0 :(得分:0)

如果要在bash脚本中引用bash参数,则可以使用"$@" 而不是单个参数,它扩展为您传递给它的任何参数。

修改

https://stackoverflow.com/a/3898681/152016请参阅bash手册页,解释该特殊变量的含义,还有其他有用的变量,例如$#$?

感谢@DanielPryden评论,在变量周围添加了引号。在这里看到一个很好的解释,原因:https://stackoverflow.com/a/3990540/152016