Вы включали первое число в сумму и написали неверное условие:
if [count -eq "1"]
вместо
if [$ count -eq 1]
Оператор $
позволяет получить доступ к переменной, и вы использовали 1 как строку вместо целого числа.
#!/bin/bash
read n
p=$n
sum=0
count=1
while [ $count -le $p ]
do
read n
x=$n
count=$(($count + 1))
sum=$(($sum + $x))
done
result=`echo $sum $p | awk '{printf "%.3f", $1/$2 }'`
echo $result
Я нутром чувствую, что в sshfs есть некоторое кэширование, которое все еще сбрасывается (много )секунд после того, как вы отключились.
Поток ядра может отказаться переходить в спящий режим при попытке очистки кэша, особенно если для этого требуется сетевое соединение.
Я не могу найти документацию о том, будет ли sync
сбрасывать кэши для файловых систем fusermount
, но сначала попробуйте это. То есть:
fusermount -u ~/sshfs_mount
sync
systemctl suspend
Вы также можете попробовать смонтировать sshfs с помощью -o cache=no
, как указано здесь:
https://superuser.com/questions/542444/ubuntu-sshfs-doesnt-sync
Однако это может снизить производительность sshfs.