J'ai déjà posé la question et me suis vraiment donnée la peine de chercher.. ( aussi mon sujet est assez long ), mais elle est passée dans les oubliettes puisque les sujets ne remontent plus...
J'ai encore cherché et lu pas mal de docs, mais je ne trouve pas une explication et je suis coincée, aussi j'insite. Si qqun pouvait m'aider, ce serait sympa.
Souvent on lit dans les questions posées sur les forums à ce sujet que le shell sh n'est qu'un lien symbolique vers le bash.
or à la lecture d'un document sur le shell où me renvoie léa, j'ai bien le sentiment que ce sont deux shells indépendants. ( et le sh serait celui de base commun à tous les systèmes linux : le Bourne shell).
Je pense que l'explication de lien symbolique est un peu floue pour ne pas dire fumeuse... ( je m'excuse ) mais celà crée beaucoup de confusion
Quelqu'un peut il me confirmer que ce sont bien deux shells indépendants possédant chacun leur propre interpréteur de commandes et le bash plus récent disposerait de plus de commandes ?
Dans etc/passwd, il est indiqué par l'installation de linux, que tous mes utilisateurs y compris le root seraient affectés au shell bash. Donc toutes leurs commandes sont interprétées par le bash !
J'ai lu dans ce document que les fichiers de cde s'adressant à sh commence tous par #! /bin/sh.
C'est bien le cas des scripts de kdevelop.
Si un spécialiste pouvait me confirmer que c'est bien ainsi qu'on dirige les commandes d'un script vers le shell sh ?
et Kdevelop utiliserait donc le shell sh parce que c'est le shell commun à tous les sytèmes linux.
Comment travaille-t-on avec le sh ?
Ce cas n'est pas toujours bien traité, mais j'ai trouvé qu'en terminal on passait d'un shell à l'autre en tappant sh; ou bash; après ces commandes, le prompt change, confirmant qu'on est sous tel ou tel shell et qu'ils sont bien indépendants.
Pourquoi cette question "tordue" ?
D'abord parce que je débute et ensuite parce que mon kdevelop "plante" lors de la création d'un projet et encore : parce ce que je cherche d'où vient ce problème avant de bidouiller n'importe quoi au hasard ( est ce un tort ?)
kdevelop sort une ERREUR sur cette commande d'un de ses scripts lancé à la création du projet :
"sh: ./configure: /bin/sh: bad interpreter: Permission non accordée".
J'ai commencé par chercher dans les droits et sur des exemples similiaires avec google : certains ont bricolé les droits, pour se donner les droits root se faisant rappeller à l'odre car c'est dangereux pour le système, mais les explications se sont arrétées là! J'ai les mêmes droits sur bash et sh, il me semble donc que ce n'est pas un problème de droits.
Il me semblait plus logique et moins risqué de déclarer le shell sh dans /etc/passwd pour l'utilisateur qui utilise kdevelop, mais ça ne change rien à l'affaire.. damned !
Je BLOQUE complètement là !
(Je n'ose pas penser qu'il y a un problème dans kdevelop , mais que c'est un petit problème de config quelque part)
Auparavant kdevelop me dit après ce dernier message :
*** Finished
avant de lancer son script de création de projet qu'il vient de préparer en fonction de la nature de mon projet :
Don't forget to run ./configure
If you haven't done so in a while, run ./configure --help
mais kdevelop enchaîne sans me laisser le temps de tapper cette commande : ./configure.
Si j'essaye de le faire manuellement dans un terminal, il me répont : commande not found avec le bash, comme avec le sh.
Enfin dernière question :
A quoi sert cette commande du script ?
sh: ./configure: /bin/sh:
Celà veut il dire que kdevelop veut configuer le shell /bin/sh pour pouvoir faire son travail de compilation en lançant ses commandes sur le sh ?
et puis cette autre en prime :
Une commande qui commance par ./ c'est bien une cde en superutilisateur ? donc je ne vois pas où est le problème de droits qu'il faudrait changer pour que ça marche.
Scusez moi, je débute.
Merci de vos réponses , mêmes brèves..
Jacqueline.
PS : au cas où un expert de kdevelop voudrait bien me répondre. ( kdevelop me paraît un super outil, aussi je m'acharne et en plus ça me fait poser plein de questions intéressantes , mais qui dépassent un peu mes compétences actuelles )
J'ai lu un des premiers scripts que lance kdevelop. dans les commentaires, il cherche quels shells sont installés dans mon système ( pour savoir avec lequel il va bosser, je suppose : là je n'ai pas d'erreurs.
Plus loin après cette erreur sur le bin/sh, il me sort une autre errur que j'ai pu remonter avec ses indications de numéro de ligne.
Il teste un fichier avec une cde , juste après une commande avec grep et me retourne cette erreur sur le test: TROP d'ARGUMENTS dans cette commande.
Bizarre, ça devrait rouler tout seul!
On pourrait aussi penser que mon shell sh est mal configuré pour sortir trop d'arguments à passer à l'autre commande ? Ce ne sont pas les gens de kdevelop qui se sont plantés... je le crois pas , ce serait prétentieux de ma part.
Merci !
Poste le Saturday 16 October 2004 10:55:56