我有一个脚本可以找到 pdb 中两个原子之间的距离。
bash 不识别小数,所以我用 printf 脚本来四舍五入小数。
并且 echo $b 工作正常并给我一个整数值。
但是我的过滤系统的 if 行不起作用。
我得到并错误说明
[: -ge: unary operator expected
下面是我正在处理的脚本的一部分。
a=$(awk '$2=='91'{x1=$6;y1=$7;z1=$8} $2=='180' {x2=$6;y2=$7;z2=$8} END{print sqrt((x1-x2)*(x1-x2) + (y1-y2)*(y1-y2) + (z1-z2)*(z1-z2))}' ${names}.pdb.$i)
b= printf %.0f $a
echo $b
if [ $b -ge 1 ] &&[ $b -le 9 ]; then
任何帮助将不胜感激。提前谢谢你。