
Como eu faria isso funcionar no ksh?
variable1="$(strings /.sh_history | grep '^\user' | tail -1 | cut -d' ' -f2)"
variable2="$(command ${variable1})"
Basicamente, eu gostaria de usar a variável1 como uma string para usar com um comando para declarar uma variável.
ATUALIZAÇÃO: O problema não estava realmente relacionado à minha sintaxe. O erro ocorreu devido à formatação do texto, o que criou um problema. Cortei usando os modificadores de texto como delimitadores e consegui extrair os dados com sucesso. Usei as duas soluções recomendadas para tornar meu script mais limpo.
Responder1
Se você quiser armazenar código shell, usefunções:
function1() { strings /.sh_history | grep "$@"; }
variable1=$(function1 foo)
Responder2
Usar eval
:
variable1='strings /.sh_history | grep'
variable2=$(eval "$variable1 foo")