Contenu | Rechercher | Menus

Annonce

Si vous rencontrez des soucis à rester connecté sur le forum (ou si vous avez perdu votre mot de passe) déconnectez-vous et reconnectez-vous depuis cette page, en cochant la case "Me connecter automatiquement lors de mes prochaines visites".
Test de l'ISO d'Ubuntu francophone : nous avons besoin de testeurs pour la version francophone d'Ubuntu 14.04. Liens et informations ici.

#1 Le 13/01/2013, à 00:15

weezixx

[Résolu] Cowsay pas ce que je veux …

Bonjour,

ayant envie d'égayer un peu mon shell j'ai installé "cowsay".

J'ai voulu mettre ce ASCII art :

##
## follow the white rabbit
##
$the_cow = <<EOC;
   $thoughts
    $thoughts
                       :oooo
                       YAAAAAAs_
               'AA.    ' AAAAAAAAs
                !AAAA_   ' AAAAAAAAs
                  VAAAAA_.   AAAAAAAAs
                   !AAAAAAAA_  AAAAAAAb
                     VVAAAAAAA\/VAAAAAAb
                       'VVAAAAAAAXXAAAAAb
                           ~~VAAAAAAAAAABb
                                 ~~~VAAAAB__
                                   ,AAAAAAAAA_
                                 ,AAAAAAAAA(*)AA_
            _nnnnnnnnnnnnnnmmnnAAAAAAAAAAAAA8GAAAAn_
        ,AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAo
      ,AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAf~""
     ,AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA)
    iAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP
    AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
   ,AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA]
   [AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA]
   [AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
   [AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA!
    AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA~
    YAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA`
 __.'YAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA.
[AAAAA8AAAAAAAAAAAAAAAAAAAAAAAAAA~AAAAA_
(AAAAAAAAAAAAAAAAAAAAAAAAAAAAVf`   YAAAA]
 VAAAAAAAAAAAAAAAAAAAAAAAAAAA_      AAAAAAAs
   'VVVVVVVVVVVVVVVVVVVVVVVVVV+      !VVVVVVV
EOC

Mais il me retourne (terminal) toujours ça :

cowsay: Can't find string terminator "EOC" anywhere before EOF at /usr/share/cowsay/cows/follow_the_white_rabbit.cow line 4, <STDIN> line 1.

Que faire ?

Merci smile

Dernière modification par weezixx (Le 14/01/2013, à 18:05)

Hors ligne

#2 Le 13/01/2013, à 04:22

Postmortem

Re : [Résolu] Cowsay pas ce que je veux …

Salut,
À tout hasard, n'aurais-tu pas une ou des espaces sur ta dernière ligne ?
Il faut peut-etre juste le mot EOC sans rien d'autre du tout.


Trusty Tahr (64 bits), Athlon64 3800+, ATI Radeon HD4870

Mot' a dit : « Un Hellfest sans Slayer, c'est comme une galette-saucisse sans saucisse ! »

Hors ligne

#3 Le 13/01/2013, à 04:24

weezixx

Re : [Résolu] Cowsay pas ce que je veux …

Même pas …

Hors ligne

#4 Le 13/01/2013, à 09:22

tiramiseb

Re : [Résolu] Cowsay pas ce que je veux …

As-tu essayé d'ajouter une ligne vide après EOC ?


Sébastien Maccagnoni-Munch - administrateur Linux depuis le XXème siècle
Consultant informatique indépendant - http://www.smm-informatique.fr
Geek et tout plein d'autres choses - http://www.tiramiseb.fr

Hors ligne

#5 Le 13/01/2013, à 09:41

serged

Re : [Résolu] Cowsay pas ce que je veux …

Tu as des ` (apostrophes inverses) dans ton script. Il essaye d'exécuter ce qu'il y a entre...


Linux-Mint Qiana 64 (Cinnamon) sur ASUS F2A55/AMD A8-5600K APU

Hors ligne

#6 Le 13/01/2013, à 10:13

tiramiseb

Re : [Résolu] Cowsay pas ce que je veux …

serged: je suis pas spécialiste du Perl donc je sais pas trop... En Perl les " ` " ont la même signification qu'en shell ?

weezixx: j'ai installé  cowsay, j'ai copié-collé le contenu que tu as montré dans le fichier /usr/share/cowsay/cows/follow_the_white_rabbit.cow et j'ai exécuté la commande suivante :

cowsay -f follow_the_white_rabbit "hello world"

Ça a parfaitement fonctionné (même résultat avec et sans ligne vide à la fin du fichier). Es-tu sûr du contenu du fichier /usr/share/cowsay/cows/follow_the_white_rabbit.cow sur ton système ?


Sébastien Maccagnoni-Munch - administrateur Linux depuis le XXème siècle
Consultant informatique indépendant - http://www.smm-informatique.fr
Geek et tout plein d'autres choses - http://www.tiramiseb.fr

Hors ligne

#7 Le 13/01/2013, à 16:54

weezixx

Re : [Résolu] Cowsay pas ce que je veux …

Toujours la même réponse quand je fais ta ligne de code tiramiseb

mister_why@JARVIS:~$ cowsay -f follow_the_white_rabbit "hello world"
cowsay: Can't find string terminator "EOC" anywhere before EOF at /usr/share/cowsay/cows/follow_the_white_rabbit.cow line 4.

Hors ligne

#8 Le 13/01/2013, à 17:00

tiramiseb

Re : [Résolu] Cowsay pas ce que je veux …

Je réitère ma question :
Es-tu sûr du contenu du fichier /usr/share/cowsay/cows/follow_the_white_rabbit.cow sur ton système ?


Sébastien Maccagnoni-Munch - administrateur Linux depuis le XXème siècle
Consultant informatique indépendant - http://www.smm-informatique.fr
Geek et tout plein d'autres choses - http://www.tiramiseb.fr

Hors ligne

#9 Le 13/01/2013, à 17:05

Watael

Re : [Résolu] Cowsay pas ce que je veux …

salut,

le dernier EOC peut-il correspondre au premier EOC;
le point-virgule (ou son absence) peut-il avoir une influence?


eval, c'est mal.

Hors ligne

#10 Le 13/01/2013, à 17:06

weezixx

Re : [Résolu] Cowsay pas ce que je veux …

Je refait un copier/coller du fichier même : 

##
## follow the white rabbit
##
$the_cow = <<EOC;
   $thoughts
    $thoughts
                       :oooo
                       YAAAAAAs_
               'AA.    ' AAAAAAAAs
                !AAAA_   ' AAAAAAAAs
                  VAAAAA_.   AAAAAAAAs
                   !AAAAAAAA_  AAAAAAAb
                     VVAAAAAAA\/VAAAAAAb
                       'VVAAAAAAAXXAAAAAb
                           ~~VAAAAAAAAAABb
                                 ~~~VAAAAB__
                                   ,AAAAAAAAA_
                                 ,AAAAAAAAA(*)AA_
            _nnnnnnnnnnnnnnmmnnAAAAAAAAAAAAA8GAAAAn_
        ,AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAo
      ,AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAf~""
     ,AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA)
    iAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP
    AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
   ,AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA]
   [AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA]
   [AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
   [AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA!
    AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA~
    YAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA`
 __.'YAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA.
[AAAAA8AAAAAAAAAAAAAAAAAAAAAAAAAA~AAAAA_
(AAAAAAAAAAAAAAAAAAAAAAAAAAAAVf`   YAAAA]
 VAAAAAAAAAAAAAAAAAAAAAAAAAAA_      AAAAAAAs
   'VVVVVVVVVVVVVVVVVVVVVVVVVV+      !VVVVVVV
EOC

Hors ligne

#11 Le 13/01/2013, à 17:08

tiramiseb

Re : [Résolu] Cowsay pas ce que je veux …

Je ne sais pas quoi te dire. J'ai pris ton fichier et chez moi ça marche.


Sébastien Maccagnoni-Munch - administrateur Linux depuis le XXème siècle
Consultant informatique indépendant - http://www.smm-informatique.fr
Geek et tout plein d'autres choses - http://www.tiramiseb.fr

Hors ligne

#12 Le 13/01/2013, à 17:25

Watael

Re : [Résolu] Cowsay pas ce que je veux …

dans un terminal, sans les ` (comme l'a indiqué serged), je n'ai plus de message d'erreur.
le ; n'y est pour rien.


eval, c'est mal.

Hors ligne

#13 Le 13/01/2013, à 17:25

weezixx

Re : [Résolu] Cowsay pas ce que je veux …

Et pourtant quand j'utilise un autre fichier .cow ça fonctionne ! C'est ça le pire !

Hors ligne

#14 Le 13/01/2013, à 17:28

tiramiseb

Re : [Résolu] Cowsay pas ce que je veux …

Watael a écrit :

dans un terminal, sans les ` (comme l'a indiqué serged), je n'ai plus de message d'erreur.
le ; n'y est pour rien.


Qu'appelles-tu "dans un terminal" ?
cowsay est en Perl et ces fichiers ".cow" sont écrits en Perl.
As-tu exécuté ce fichier avec Perl ?


Sébastien Maccagnoni-Munch - administrateur Linux depuis le XXème siècle
Consultant informatique indépendant - http://www.smm-informatique.fr
Geek et tout plein d'autres choses - http://www.tiramiseb.fr

Hors ligne

#15 Le 13/01/2013, à 17:31

tiramiseb

Re : [Résolu] Cowsay pas ce que je veux …

weezixx: peut-être y a-t-il un caractère spécial, invisible sur le terminal, qui fait croire à ton système que c'est la fin du fichier.

Essaie de copier-coller à partir de ce forum (vu que pour moi ça marche...) dans un nouveau fichier .cow et d'utiliser cowsay avec ce nouveau fichier...


Sébastien Maccagnoni-Munch - administrateur Linux depuis le XXème siècle
Consultant informatique indépendant - http://www.smm-informatique.fr
Geek et tout plein d'autres choses - http://www.tiramiseb.fr

Hors ligne

#16 Le 13/01/2013, à 18:06

weezixx

Re : [Résolu] Cowsay pas ce que je veux …

Le sort s'acharne … Toujours le même : 

cowsay: Can't find string terminator "EOC" anywhere before EOF at /usr/share/cowsay/cows/rabbit.cow line 4.

Hors ligne

#17 Le 13/01/2013, à 18:20

Watael

Re : [Résolu] Cowsay pas ce que je veux …

Qu'appelles-tu "dans un terminal" ?
cowsay est en Perl et ces fichiers ".cow" sont écrits en Perl.

J'ai copié le lapin, je l'ai mis entre cat <<EOC et EOC,
et les ` font afficher un message d'erreur

bash: command substitution: ligne2: Caractère de fin de fichier (EOF) prématuré lors de la recherche du « ' » correspondant
bash: command substitution: ligne5: Erreur de syntaxe : fin de fichier prématurée

Hors, je conserve les apostrophes, j'enlève seulement les `, et il n'y a plus de message d'erreur.


eval, c'est mal.

Hors ligne

#18 Le 13/01/2013, à 20:41

weezixx

Re : [Résolu] Cowsay pas ce que je veux …

Je crois que ça a un rapport avec l'ASCII art car je viens d'en faire un autre et celui la fonctionne au démarrage de mon shell !

Hors ligne

#19 Le 13/01/2013, à 20:44

tiramiseb

Re : [Résolu] Cowsay pas ce que je veux …

Watael : sauf que ce que tu as fait c'est du bash, pas du perl...


Sébastien Maccagnoni-Munch - administrateur Linux depuis le XXème siècle
Consultant informatique indépendant - http://www.smm-informatique.fr
Geek et tout plein d'autres choses - http://www.tiramiseb.fr

Hors ligne

#20 Le 13/01/2013, à 21:27

Watael

Re : [Résolu] Cowsay pas ce que je veux …

C'est toujours, plus ou moins, un here-doc.
Et le message est très similaire.


eval, c'est mal.

Hors ligne

#21 Le 13/01/2013, à 21:28

tiramiseb

Re : [Résolu] Cowsay pas ce que je veux …

Pas vraiment similaire,  non...


Sébastien Maccagnoni-Munch - administrateur Linux depuis le XXème siècle
Consultant informatique indépendant - http://www.smm-informatique.fr
Geek et tout plein d'autres choses - http://www.tiramiseb.fr

Hors ligne

Haut de page ↑