Foro de elhacker.net

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

Citar
get_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:

Citar
STRING='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
  1. Function test1() As String
  2.    MsgBox Shell("Powershell Get-Date")
  3. 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: