Как диагностировать низкую скорость загрузки на Ubuntu Server 18.04

Sintácticamente, los siguientes dos fragmentos de código son correctos y equivalentes:

for f in bash/*.sh; do
    sashacommand "$f"
done
for f in bash/*.sh
    do sashacommand "$f"
done

Este último podría posiblemente decirse que es más difícil de leer ya que doofusca ligeramente el comando en el cuerpo del ciclo. Si el bucle contiene varios comandos y el siguiente comando está en una nueva línea, la ofuscación se resaltará aún más:

for f in *
    do cmd1
    cmd2
done

... pero marcarlo como un "error" es en mi humilde opinión la opinión personal de alguien más que una verdad objetiva.

Diría que si desea anteponer el comando en el bucle con do, siéntase libre de hacerlo si eso hace que el código sea coherente y legible a los ojos de quien lo lea.

En general, casi cualquier ;puede ser reemplazado por una nueva línea. Tanto ;como la nueva línea son terminadores de comandos. does una palabra clave que significa "aquí sigue lo que debe hacerse (en este forbucle )".

for f in *; do...; done

es lo mismo que

for f in *
do
  ...
done

y como

for f in *; do
  ...
done

y

for f in *
   do...
done

La razón para usar uno sobre otro es la legibilidad y las convenciones de estilo local/personal.


Opinión personal:

En los encabezados de bucle que son muy largos , creo que puede tener sentido poner doen una nueva línea, como en

for i in animals people houses thoughts basketballs bees
do
   ...
done

o

for i in        \
    animals     \
    people      \
    houses      \
    thoughts    \
    basketballs \
    bees
do
   ...
done

Lo mismo ocurre con thenen una declaración if.

Pero nuevamente, esto se reduce a las preferencias personales de estilo, o al estilo de codificación que esté usando el equipo/proyecto.

3
24.07.2019, 01:34
1 ответ

В Ubuntu 18.04

speedtest -cli, установленный apt:

$ speedtest-cli --server 2173

Retrieving speedtest.net configuration...
Testing from TPG Internet (<my IP>)...
Retrieving speedtest.net server list...
Retrieving information for the selected server...
Hosted by Internode (Sydney) [1.01 km]: 15.25 ms
Download: 84.62 Mbit/s
Upload: 3.82 Mbit/s

python (указанный выше )из speedtest -cli master:

$./speedtest.py --server 2173

Retrieving speedtest.net configuration...
Testing from TPG Internet (<my IP>)...
Retrieving speedtest.net server list...
Retrieving information for the selected server...
Hosted by Internode (Sydney) [1.01 km]: 14.583 ms
Download: 84.64 Mbit/s
Upload: 38.26 Mbit/s

Второй соответствует результату веб-страницы с той же машины.

Кстати, установка brew speedtest -cli на мой макбук, в той же сети дает тот же (более быстрый )результат, что и второй (, как и браузер на макбуке ). Очевидно, что apt установленный cli speedtest -имеет проблему, так как прямой python на той же машине не работает.

4
28.04.2021, 23:32

Теги

Похожие вопросы