Explain: uma função em Bash para explicar comandos no seu terminal shell

explain

O script de 20 linhas do link abaixo pode ser copiado para o seu ~/.bash_profile ou ~/.bashrc e cria a função explain, que você pode chamar a partir do terminal como neste exemplo: explain ‘scp -P 18309 routeros-mipsbe-6.30.1.npk felix@192.168.0.1:/home/felix/’.

# Add this to ~/.bash_profile or ~/.bashrc
explain () {
  if [ "$#" -eq 0 ]; then
    while read  -p "Command: " cmd; do
      curl -Gs "https://www.mankier.com/api/explain/?cols="$(tput cols) --data-urlencode "q=$cmd"
    done
    echo "Bye!"
  elif [ "$#" -eq 1 ]; then
    curl -Gs "https://www.mankier.com/api/explain/?cols="$(tput cols) --data-urlencode "q=$1"
  else
    echo "Usage"
    echo "explain                  interactive mode."
    echo "explain 'cmd -o | ...'   one quoted command to explain it."
  fi
}
 
# Update 26-03-2015. If using this command gives no output, see if running a simple fetch causes this error:
# $ curl https://www.mankier.com
# curl: (35) Cannot communicate securely with peer: no common encryption algorithm(s).
# If so, try specifying a cipher in the curl commands: curl --ciphers ecdhe_ecdsa_aes_128_sha

O que a função faz é interessante: apresentar um resumo do manual do comando e de cada um dos parâmetros – no exemplo acima, ela explicaria o que faz o comando scp juntamente com o parâmetro -P.

Para que o script funcione é necessário que o computador esteja conectado a internet, pois depende do serviço web oferecido pelo seu autor.

Fontes:

comments powered by Disqus