Imprimir salida comando con PRINTF (BASH)

Iniciado por Eskizoide, 27 Noviembre 2017, 14:39 PM

0 Miembros y 1 Visitante están viendo este tema.

Eskizoide

Hola,

tengo este código

Citarget_atributo()
{
printf  "%s" "$(ps axo cmd= --sort=-%cpu)"

}

get_usuario()
{
printf "%s" "$(ps axo user= --sort=-%cpu)"
}


tabla()
{
 STRING='ps axo user= --sort=-%cpu'
 printf "%10s %25s %10s %30s %10s %10s %20s %50s\n" "Nombre del Proceso" "Propietario" "Tiempo de CPU" "Prioridad del proceso" "Memoria Residente/Memory Swap"

 printf "%10s\n %25s\n %10s %30s %10s %10s %20s %50s\n" "$(get_atributo)" "$(get_usuario)"

pero el resultado me lo coloca todo en la misma columna. Deduzco que el resultado del comando no es un string y por eso no lo detecta, pero es que no se como guardar el resultado del comando en un string, porque esto no parece servir:

CitarSTRING='ps axo user= --sort=-%cpu)'

y después llamar a string en la tabla.

¿Alguna idea? Mil gracias.

Shell Root

No se en que andais codeando, pero parece que sólo esta tomando el valor del string, es decir, no esta ejecutando el comando. Os dejo un ejemplo en VBA.

Código (vb) [Seleccionar]
Function test1() As String
   MsgBox Shell("Powershell Get-Date")
End Function

:https://msdn.microsoft.com/en-us/vba/language-reference-vba/articles/shell-function
Por eso no duermo, por si tras mi ventana hay un cuervo. Cuelgo de hilos sueltos sabiendo que hay veneno en el aire.

Eskizoide

Acabo de modificar el título, estoy con bash-script, y de lo que has puesto no entiendo nada  :laugh: