Test Foro de elhacker.net SMF 2.1

Programación => Scripting => Mensaje iniciado por: Eskizoide en 27 Noviembre 2017, 14:39 PM

Título: Imprimir salida comando con PRINTF (BASH)
Publicado por: Eskizoide en 27 Noviembre 2017, 14:39 PM
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.
Título: Re: Imprimir salida comando con PRINTF
Publicado por: Shell Root en 27 Noviembre 2017, 14:49 PM
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
Título: Re: Imprimir salida comando con PRINTF (BASH)
Publicado por: Eskizoide en 27 Noviembre 2017, 14:56 PM
Acabo de modificar el título, estoy con bash-script, y de lo que has puesto no entiendo nada  :laugh: