IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Shell et commandes GNU Discussion :

Faire une seule ligne avec deux echo


Sujet :

Shell et commandes GNU

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    83
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2006
    Messages : 83
    Points : 58
    Points
    58
    Par défaut [RESOLU]Faire une seule ligne avec deux echo
    Bon, voilà une question simple comme vous ne devez pas en voir souvent.

    J'essaye d'afficher à la suite deux variables sur une seule ligne pour reconstituer une URL.

    URL=http://www.montruc.com
    GET=?toto1&toto2

    je veux mettre ça bout à bout, et là, c'est le drame...

    "echo -n $URL && echo $GET " me donne un truc affreux (?toto1&toto2.montruc.com)

    J'en ai marre de bloquer sur des trucs forcément simplissime.

    Merci de m'aider

    PS: j'utilise le bash de mac OSX pour l'instant. Je ne sais pas si c important.
    juste pour le fun: si quelqu'à à la ligne de code awk pour le faire cela m'intéresse, j'apprendrais un peu

  2. #2
    Membre confirmé
    Homme Profil pro
    Technophile Web
    Inscrit en
    Mai 2007
    Messages
    930
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations professionnelles :
    Activité : Technophile Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mai 2007
    Messages : 930
    Points : 467
    Points
    467
    Par défaut
    Citation Envoyé par d10g3n Voir le message
    URL=http://www.montruc.com
    GET=?toto1&toto2

    je veux mettre ça bout à bout, et là, c'est le drame...

    "echo -n $URL && echo $GET " me donne un truc affreux (?toto1&toto2.montruc.com)
    && est un opérateur logique, pour des nombres.
    cela ne fonctionnera donc pas pour des chaînes de caractères
    est ce que tu a éssayé un
    Citation Envoyé par d10g3n Voir le message
    PS: j'utilise le bash de mac OSX pour l'instant. Je ne sais pas si c important.
    tu as raison de le précise parce que bash n'est pas vraiement le "vrai" bash sous mac os x, mais pour echo la notaion ne change guère entre GNU bash et bash made in appleland
    Citation Envoyé par d10g3n Voir le message
    J'en ai marre de bloquer sur des trucs forcément simplissime.
    en fait tu complique des choses simples
    (bash est un "bon" language certes, mais unixiens : dans le sens où sont but principal est de permettre de piloter des appli depuis les unix, donc améliorer la portabilité de ces dernières.
    [QUOTE=d10g3n;3404358]juste pour le fun: si quelqu'à à la ligne de code awk pour le faire cela [/QUOTE pour faire quoi ?
    http://aldorande.miniville.fr/ind
    Fedora 8, eclipse 3.3 sur x86_64
    --------------
    Colorer votre code php

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    83
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2006
    Messages : 83
    Points : 58
    Points
    58
    Par défaut
    Alors, tout d'abord merci pour cette attention imméritée...

    le premier truc que g essayé, c bien sûr:

    mais cela ne marche pas. En fait, je reviens un peux toujours au même problème: il réécrit $machin à partir du début de la ligne et efface donc les premiers caractères de $trucs.

    Pourquoi awk? Parce que désespéré, g essayé, et j'obtiens le même problème...

    Bon, je démarre ssh et je teste ça sur le serveur du boulot parceque je sens que ça vient du mac....


    ----- EDIT --------

    Ah....
    En fait, je ne suis pas complètement taré...
    C Steeve Jobs qui l'est !!!!!

    Sur nunux, aucun problème, ça marche...
    Bon, je m'en vais pourrir un forum mac Os x.

    PS : g perdu 2 heures sur ce problème !!!
    PS 2: la suite: http://www.developpez.net/forums/sho...56#post3404456

  4. #4
    Membre éprouvé
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    792
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mai 2004
    Messages : 792
    Points : 1 206
    Points
    1 206
    Par défaut
    Ce qu'on t'a donné plus haut devrait fonctionner. essyae de protéger tes variables au cas où.

    $ ech "$URL$GET"
    ou
    $ echo ${URL}${GET}
    ou
    $ printf "%s%s" $URL $GET
    :q :q! :wq :w :w! :wq! :quit :quit! :help help helpquit quit quithelp
    :quitplease :quitnow :leave :shit ^X^C ^C ^D ^Z ^Q QUITDAMMIT
    Jabber: ripat at im.apinc.org

  5. #5
    Membre du Club
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    83
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2006
    Messages : 83
    Points : 58
    Points
    58
    Par défaut
    Merci à tous pour votre participation !

    En fait, j'étais juste à côté de la plaque.

    Je croyais être dans bash, mais en fait, non:

    J'étais dans la console de mac osX

    Donc, en tapant
    on rentre dans bash, et là echo se comporte normalement...

    --------------EDIT ------------

    en fait, non, le problème était autre part

  6. #6
    Membre confirmé
    Homme Profil pro
    Technophile Web
    Inscrit en
    Mai 2007
    Messages
    930
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations professionnelles :
    Activité : Technophile Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mai 2007
    Messages : 930
    Points : 467
    Points
    467
    Par défaut
    Citation Envoyé par d10g3n Voir le message
    Merci à tous pour votre participation !

    En fait, j'étais juste à côté de la plaque.

    Je croyais être dans bash, mais en fait, non:

    J'étais dans la console de mac osX

    Donc, en tapant
    on rentre dans bash, et là echo se comporte normalement...
    ah oki jecroyais que tété en bah made in os x world

    parce que leur bash, n'est pas à 100% similaire au bash GNU
    http://aldorande.miniville.fr/ind
    Fedora 8, eclipse 3.3 sur x86_64
    --------------
    Colorer votre code php

  7. #7
    Membre du Club
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    83
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2006
    Messages : 83
    Points : 58
    Points
    58
    Par défaut
    Bon, bin j'ai du nouveau...

    En fait, j'ai vraiment un problème

    Il s'agit d'un problème reproductible, alors allons y

    --------EDIT: J'étais fatigué, le problème n'est pas reproductible tel quel ----

    1. Créer un fichier toto contenant cette ligne de texte:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    iv=4471888&ivc=ebc5435f0668a284
    2. Essayer de faire un echo dessus de cette manière:

    Et voilà! TXT se place en début de ligne et recouvre iv...

    Que se passe-t-il? Comment faire?

  8. #8
    Membre éprouvé
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    792
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mai 2004
    Messages : 792
    Points : 1 206
    Points
    1 206
    Par défaut
    Tu n'aurais pas créé ton fichier avec Windows par hasard?

    Donnes-nous le résultat de la commande:
    ou
    :q :q! :wq :w :w! :wq! :quit :quit! :help help helpquit quit quithelp
    :quitplease :quitnow :leave :shit ^X^C ^C ^D ^Z ^Q QUITDAMMIT
    Jabber: ripat at im.apinc.org

  9. #9
    Membre du Club
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    83
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2006
    Messages : 83
    Points : 58
    Points
    58
    Par défaut
    alors, ripat m'a mis sur la bonne voie, et le problème est désormais résolu (pour de vrai).

    Je tiens tout d'abord à m'excuser pour mon manque de clarté. Ma commande avec echo n'était finalement pas reproductible... Il était assez tard hier soir quand je l'ai postée. Allez, c promis, j'arrête de passer des nuits à me battre contre l'ordi .

    En réalité, j'utilisais un script assez compliqué qui cumule pas mal de awk les un derrière les autres et qui va chercher une information sur Internet. Il y a pas mal d'info confidentiel qui se balade dedans en claire, je ne voulais donc pas être trop précis ici...

    Le problème semble en effet être une question de caractère d'échapement. Suite à l'utilisation de la commande 'od', j'ai pu en effet constater qu'il y avait un 'cr' en trop. Ce qui a été confirmé par:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    $cat -e toto.txt
    blabla^M$
    Donc, pour me débarrasser de mon problème, j'ai fais:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $echo $(cat -e toto.txt | awk 'BEGIN{FS="^"}{print $1"\&tpl\=blabla"}') > toto2.txt
    Voilà, merci à tous, et encore pardon pour ce poste un peu désordonné...

    P.S: Enfin, le problème est résolu, Je suis HEUREEEUUUUX !!!!!!!!!!!!!! (merci encore à ripat)

Discussions similaires

  1. Réponses: 1
    Dernier message: 23/04/2012, 11h57
  2. Réponses: 3
    Dernier message: 06/11/2007, 11h16
  3. faire une seule table avec plusieurs table
    Par bossboss dans le forum Access
    Réponses: 4
    Dernier message: 08/01/2007, 16h11
  4. Plusieures infos sur une seule ligne avec ou sans tableau
    Par Him dans le forum Balisage (X)HTML et validation W3C
    Réponses: 5
    Dernier message: 17/03/2006, 14h16
  5. Faire une procédure stockée avec deux tables
    Par mister3957 dans le forum Langage SQL
    Réponses: 3
    Dernier message: 17/03/2006, 13h54

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo