Forum Programmation.shell recupere les paramettres d"un programme associé à un alias

Posté par  .
Étiquettes : aucune
0
12
sept.
2009
bonjour ,
je n'ai pas une trés grande experience en programmation shell, j'ai un programme dbaccess pour les requettes informix
le probleme est que j'ai installé un systeme linux suse 10 64 bit
un moteur de base de donnée informix ids 11.50 64 bit, mais suite à des problemes dans le 4gl 64 bit, j'ai installé la version 32 bit du 4gl dans un autre repertoire autre que la version 64 bit
les programmes se compilent et s'executent correctement, mais le programme dbaccess ne fonctionne si on positionne les variables INFORMIXDIR, LD_LIBRARY_PATH, PATH sur la version 32, j'ai donc ecrit un shell dbaccess.sh qui contient les bonnes valeurs des variables 64 bit et à la fin un appel exec /usr/informix/bin/dbaccess et j'ai mis un alias ,
alias dbaccess ="/usr/informix/bin/dbaccess.sh"
ça fonctionne quand je l'execute sans argument , mais quand je fait par exemple: dbaccess database ss.sql ça ne fonctionne pas parcequ'il ne reconnait pas les arguments de dbaccess

je veux modifier ce shell de la façon suivante

exec $0 $* avec $* les arguments de la ligne de commande
est ce que quelqu'un peut m'aider ?
Merci d'avance
  • # t'es pas clair

    Posté par  (site web personnel) . Évalué à 2.

    poste le code des alias/scripts, j'ai rien compris :/
  • # Ça ne fonctionne pas directement ?

    Posté par  . Évalué à 1.

    Récapitulons pour voir si j'ai bien compris :

    Tu as un programme dbaccess. Tu l'encapsule dans un script. Puis tu fais un alias pour appeler ce script avec le nom du programme, en voulant passer les arguments.

    Je ne vois pas pourquoi cela ne fonctionnerait pas. Un exemple débile avec ls :

    J'écris un script lss qui donne :
    #!/bin/sh
    ls -l $*
    ls $*


    puis je fais alias ls=/chezmoi/lss

    et ls lss me donne bien une version détaillée et une version normale, ls -l lss me donne deux versions détaillées.
  • # alias ?

    Posté par  . Évalué à 2.

    C'est quoi l'intérêt de l'alias ?
    Il suffit de nommer le script dbaccess (sans le .sh), et le mettre dans /usr/local/bin, ou bien créer un lien de /usr/local/bin/dbaccess vers /usr/informix/bin/dbaccess.sh
  • # heu ?

    Posté par  . Évalué à 3.

    exec /usr/informix/bin/dbaccess $*
    ou pas ?
    pas sûr d'avoir compris la question non plus, mais exec $0, c'est de toute façon pas très très utile :).

Suivre le flux des commentaires

Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.