¿Estos comandos devolverán el mismo resultado en diferentes distribuciones de Linux?

¿Estos comandos devolverán el mismo resultado en diferentes distribuciones de Linux?

Estoy escribiendo un guión de seguimiento. Lo estoy ejecutando en una máquina específica y funciona. Está previsto que se ejecute en varias máquinas Linux, no vinculadas a una única distribución.

Aquí están los comandos y los tratamientos relacionados que hago:
1) Uso de CPU:

top -bn 2 | grep "Cpu(s)" | sed "s/.*, *\([0-9.]*\)%* id.*/\1/" | awk '{print 100 - $1"%"}'
92%
93% 

Registro ambos valores.

2) uso de RAM

free -m

_____total        used        free      shared buff/cache   available <br>
 Mem 3791        1183         875          16        1732        2326 <br>
 Swap 3071           0        3071

Registrar tanto la memoria como el intercambio usado/total

3) Uso del disco:

df

(manteniendo solo las columnas 2 y 3, que son respectivamente el número total de bloques de 1024 bits y los bloques usados):

 1K_blocks used_blocks
 27740944 1996820
  1931168       0
  1941352       0
  1941352   16904
  1941352       0
   508588  151576
   388272       0

Comparo las sumas de ambas columnas para obtener el espacio total en disco.

4) Tiempo de actividad:

PS C:\> invoke-sshcommand -ComputerName $ip {uptime}
09:39:01 up 13 days, 21:37,  1 user,  load average: 0,00, 0,01, 0,05

Corte esta cadena y registre datos útiles.

¿Estos comandos darán exactamente la misma forma de salida independientemente de la distribución de Linux? De manera más general, ¿seguiría siendo válido un comando + tratamiento de datos en cualquier distribución?

Respuesta1

¿Estos comandos darán exactamente la misma forma de salida independientemente de la distribución de Linux?

Quizás, pero no puedes estar seguro de ello.

Hay cientos de distribuciones de Linux (DistroWatchcuenta 280 de ellos) y no se puede tener la garantía de que un guión escrito para uno funcionará - o funcionarácontinuarpara funcionar, en otro, especialmente si utiliza alguna opción o indicador que no sea POSIX.

Lo que debería hacer, en lugar de depender de la salida de los comandos, es tomar los datos directamente del /procpseudosistema de archivos.

información relacionada