简体   繁体   中英

Check a c file output in Linux

I have 2 files.c which only contain a printf("x") I am in bash script and i want to check if the values in the printf are for project1.c =20 and for project 2 =10,and then make some changes depending on the values. How am i supposed to make the comparison in the if command? This is what i have tried to do,not sure if it is right way.

for d in $1/*/*

do
gcc project1 project1.c 
if[ ./project1 = 20 ];then
$project1 =30
else
$project1 =0
fi
gcc project2 project2.c
if[ ./project2 =10 ];then
$project2 = 70
else
$project2 = 0
fi
sum=$project1 + $project2
echo "project1 : $project1 project2: $project2 total grade: $sum" >> grades.txt

done
fi

Your invocation of gcc is wrong. You have to specify the output file:

gcc -o project1 project1.c

Next, in shell, variable substitution is a different process than assignment. So, you can't write $var=foo . The correct syntax is var=foo .

Then, space is a special character (it is used to separate arguments). So var=foo is not the same than var = foo . So, the correct syntax is:

project1=30

Next, in shell, the pattern $(command) is replaced by the result of command . So. I have to do:

if [ $(./project2) == 10 ]; then

Finally, you can do arithmetic using $((calculus)) . So, you have to write:

sum=$(($project1 + $project2))

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM