【发布时间】:2022-01-23 20:00:52
【问题描述】:
我有 2 个文件 .c,其中仅包含一个 printf("x") 我在 bash 脚本中,我想检查 printf 中的值是否适用于 project1.c =20 和 project 2 =10,然后根据值进行一些更改。 我应该如何在 if 命令中进行比较? 这是我试图做的,不确定它是否正确。
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
【问题讨论】:
-
printf("x")只会打印x,那怎么可能是20或10? -
使用
"$(./project1)"获取程序的输出为字符串。 -
你需要学习基本的shell语法。
if和[之间需要空格。在作业中,=周围不能有空格。不要将$放在要分配的变量之前。 -
把你的代码粘贴到shellcheck.net,它会显示所有明显的问题。
-
printf("x") 主要是因为.c文件中的值不同,所以你只是假设x是一个值,我想检查它是否是20。关于 shell 语法,感谢您的建议,稍后我会将它们应用到我的代码中并进行更改,如果我遇到更多困难,我希望我能指望您!谢谢!