script com nome ASCII art

Iniciado por mfdzerohour, 08 de Agosto de 2010, 08:21

tópico anterior - próximo tópico

mfdzerohour

Bom dia,

Não estou conseguindo fazer imprimir o texto no shell, junto ao script, o programa utilizado é o figlet (parecido com o antigo banner), vou colocar abaixo o script que estou utilizando, o modo de exibição ficou pessimo, mas se colarmos no "vi" (sem aspas) ele aparece da forma correta.
Preciso que me ajudem o porque de não estar imprimindo até acho que sei o porque do problema é pela forma que ele está tratando as aspas duplas e simples, já tentei usar "\" pensando que ele iria considerar como um texto normal da mesma forma que é utilizado em expressões regulares, mas não deu certo.

Agradeço e espero ajuda, o script está logo abaixo.

#!/bin/bash
echo "#############################################################"
echo "#  __  __      _                              __            #"
echo "# |  \/  | ___| |_ __ _ _ __ ___   ___  _ __ / _| ___  ___  #"
echo "# | |\/| |/ _ \ __/ _` | '_ ` _ \ / _ \| '__| |_ / _ \/ __| #"
echo "# | |  | |  __/ || (_| | | | | | | (_) | |  |  _| (_) \__ \ #"
echo "# |_|  |_|\___|\__\__,_|_| |_| |_|\___/|_|  |_|  \___/|___/ #"
echo "#                                                           #"
echo "#  ___        __                            _   _           #"
echo "# |_ _|_ __  / _| ___  _ __ _ __ ___   __ _| |_(_) ___ __ _ #"
echo "#  | || '_ \| |_ / _ \| '__| '_ ` _ \ / _` | __| |/ __/ _` |#"
echo "#  | || | | |  _| (_) | |  | | | | | | (_| | |_| | (_| (_| |#"
echo "# |___|_| |_|_|  \___/|_|  |_| |_| |_|\__,_|\__|_|\___\__,_|#"
echo "#                                                           #"
echo "#############################################################"

Imoogi

Não sei se já  resolveu, tenta desse jeito


#!/bin/bash
echo '
      #############################################################
      #  __  __      _                              __            #
      # |  \/  | ___| |_ __ _ _ __ ___   ___  _ __ / _| ___  ___  #
      # | |\/| |/ _ \ __/ _` | `_ ` _ \ / _ \| `__| |_ / _ \/ __| #
      # | |  | |  __/ || (_| | | | | | | (_) | |  |  _| (_) \__ \ #
      # |_|  |_|\___|\__\__,_|_| |_| |_|\___/|_|  |_|  \___/|___/ #
      #                                                           #
      #  ___        __                            _   _           #
      # |_ _|_ __  / _| ___  _ __ _ __ ___   __ _| |_(_) ___ __ _ #
      #  | || `_ \| |_ / _ \| `__| `_ ` _ \ / _` | __| |/ __/ _` |#
      #  | || | | |  _| (_) | |  | | | | | | (_| | |_| | (_| (_| |#
      # |___|_| |_|_|  \___/|_|  |_| |_| |_|\__,_|\__|_|\___\__,_|#
      #                                                           #
      #############################################################
'

mfdzerohour

Boa noite a sua ajuda deu certo sim, pelo que tentei mais o que vc fez? Só inicio a segunda linha com  echo ' e abaixo dela o contéudo a ser exibido? Fechando com ' (aspas simples no final) ou tem alguma coisa a mais??? Não estou conseguindo fazer exibir de forma correta o script, ideia deste script é bem simples colocar o nome da empresa do cliente e abaixo o meu como responsável pelo servidor, o meu nome vai ser em texto mesmo então não tem segredo, mas no caso do nome da empresa do cliente tem que ser em ASCII Art.

irtigor

#3
Teste:

#!/bin/bash
echo '`date +%Y`'
echo "`date +%Y`"
varHello='Hello
world!!'
echo "$varHello"
echo $varHello

Isso deve mostrar as diferenças. Mas compara no teu código:


echo "      #############################################################"
echo "      #  __  __      _                              __            #"
echo "      # |  \/  | ___| |_ __ _ _ __ ___   ___  _ __ / _| ___  ___  #"
echo '      # | |\/| |/ _ \ __/ _` | `_ ` _ \ / _ \| `__| |_ / _ \/ __| #'
echo "      # | |  | |  __/ || (_| | | | | | | (_) | |  |  _| (_) \__ \ #"
echo "      # |_|  |_|\___|\__\__,_|_| |_| |_|\___/|_|  |_|  \___/|___/ #"
echo "      #                                                           #"
echo "      #  ___        __                            _   _           #"
echo "      # |_ _|_ __  / _| ___  _ __ _ __ ___   __ _| |_(_) ___ __ _ #"
echo '      #  | || `_ \| |_ / _ \| `__| `_ ` _ \ / _` | __| |/ __/ _` |#'
echo "      #  | || | | |  _| (_) | |  | | | | | | (_| | |_| | (_| (_| |#"
echo "      # |___|_| |_|_|  \___/|_|  |_| |_| |_|\__,_|\__|_|\___\__,_|#"
echo "      #                                                           #"
echo "      #############################################################"

Só usei linha vertical ( ' ' ) no lugar das aspas ( " " ) nas linha alteradas. Outra forma é fazer assim (tudo em uma linha com \n para quebrar):

echo -e '\n      #############################################################\n      #  __  __      _                              __            #\n      # |  \/  | ___| |_ __ _ _ __ ___   ___  _ __ / _| ___  ___  #\n      # | |\/| |/ _ \ __/ _` | `_ ` _ \ / _ \| `__| |_ / _ \/ __| #\n      # | |  | |  __/ || (_| | | | | | | (_) | |  |  _| (_) \__ \ #\n      # |_|  |_|\___|\__\__,_|_| |_| |_|\___/|_|  |_|  \___/|___/ #\n      #                                                           #\n      #  ___        __                            _   _           #\n      # |_ _|_ __  / _| ___  _ __ _ __ ___   __ _| |_(_) ___ __ _ #\n      #  | || `_ \| |_ / _ \| `__| `_ ` _ \ / _` | __| |/ __/ _` |#\n      #  | || | | |  _| (_) | |  | | | | | | (_| | |_| | (_| (_| |#\n      # |___|_| |_|_|  \___/|_|  |_| |_| |_|\__,_|\__|_|\___\__,_|#\n      #                                                           #\n      #############################################################'


Que editor você usou? Se você usar destaque de síntese isso devia ficar claro.

mfdzerohour

Há uma diferença entre as fontes usadas nos nossos micros pelo menos acho que é isso pois o apostrofo ' está travando o script mas o ` um pouco curvado deixa passsar, tem alguma explicação para isto? Ou posso estar certo?

irtigor

O que está dentro de apóstrofos não é interpretado, já com aspas é ($, \, `). Ai vem o lógico, se o apostrofo é o delimitador, outro apostrofo quebra a frase, por isso ele são usados só no inicio e fim.