Como pegar a saída do comando no shell script [duplicate]

1

Estou tentando escrever um script de shell no RHEL que executará grub-md5-crypt e o usuário digitará sua senha.

Agora, o problema é como posso pegar o hash md5 criptografado exibido para o usuário no script de shell?

Eu tentei descobrir isso, mas o redirecionamento de comandos não funcionará aqui. Então, como posso obter o texto criptografado md5 no script de shell depois que o script executou grub-md5-crypt ?

    
por Tarun 17.09.2014 / 12:16

2 respostas

3

result=$(grub-md5-crypt | grep xy)
echo $result

Se o grub-md5-crypt for impresso para uso de stderr:

result=$(grub-md5-crypt 2>&1 | grep xy)
echo $result
    
por 17.09.2014 / 12:46
2

Se não funcionar no seu shell script, você pode querer usar o bash. Apenas adicione:

#!/bin/bash

deve estar na linha primeiro do seu arquivo!

Isso significa que seu script estará usando intérprete bash diferente do normal ( /bin/sh ).

Completando a resposta do noEntry , você também pode salvar a saída em um arquivo.

grub-md5-crypt | grep xy > output

Ou:

result=$(grub-md5-crypt 2>&1 | grep xy)
echo $result > output

Isso gerará uma saída de nomes de arquivos com o que quer que tenha sido impresso na tela.

    
por 17.09.2014 / 21:12