Léa-Linux & amis :   LinuxFR   GCU-Squad   GNU
Aller à la page:  1 2 Page suivante
Page: 1 sur 2
[Débutant] Comment utiliser le bon shell correspondant ?
Envoyé par: Thibault

Bonsoir tout le monde,

Je débute sous Linux et je ne sais même pas si ma question a un réel sens ? ?-(

Je m'explique : à l'IUT, nous avons commencé à travailler sous Unix avec de simples commandes (ls, cd, cp, mv, chmod, ...) puis des petits scripts. Dans ces scripts, à la première ligne, on indique au système quel shell utiliser, par exemple :
¤ pour le C-shell :
#!/bin/csh -f
¤ pour le Korn shell ou Bash :
#!/bin/sh -f
ou
#!/bin/bash -f
¤ etc...

Ensuite, il suffit de midifier les droits en execution sur le fichier et zouuu : un tape le nom du fichier et il s'execute.


J'ai voulu retenter l'expérience sous linux (Mandrake 10.1 Official) et dans ce cas, il faut saisir le nom du shell à utiliser, avant de taper le nom du fichier comme :
csh nomfichier



N'y-a-t'il pas la possibilité de faire comme sous Unix ?


Je vous remercie d'avance pour votre précieuse aide ...

Poste le Sunday 23 October 2005 23:59:18
Répondre     Citer    
Re: [Débutant] Comment utiliser le bon shell correspondant ?
Envoyé par: twocats

Tu es en IUT, t'es sûr #%b ?
Pour lancer un script, quelque soit le shell, il suffit de le rendre executable.
Pour lancer un script Bash non executable :
sh script.sh
Tu le rends executable (à la bourrin :-)) ) :
chmod +x script.sh
Tu le lance sans spécifier le shell (celui-ci étant dans le sheebang, euh she-bang, enfin le truc au début ^^D-* ) :
./script.sh

En espèrant pas dire de conneries...yawning smiley)

P.S.: Faudrais que je pense à m'inscrire dans un IUT informatique moi, quand je vois le niveau. ];-)

-------------------
La réponse est 42

Poste le Monday 24 October 2005 00:35:04
Répondre     Citer    
Re: [Débutant] Comment utiliser le bon shell correspondant ?
Envoyé par: Belokan

Je sors d'un IUT GTR (Telecoms et Réseaux) et on n'a jamais fait de Linux (à part un pauvre tp sur samba ... mais vite fait alors ... :-)) ) donc désolé de te décevoir ...

J'ai bien fait tout ce que tu as marqué (cad rien de plus que ce que j'avais indiqué ... ;-) ) mais ça ne veut pas, il m'indique "nomdefichier : Command not found" !

Poste le Monday 24 October 2005 00:40:58
Répondre     Citer    
Re: [Débutant] Comment utiliser le bon shell correspondant ?
Envoyé par: Alex.9-4-3.

Regarde ton $PATH, modifie le en ajoutant . à la fin et tu devrais pouvoir exécuter ton script en l'appelant juste par son nom.winking smiley

Poste le Monday 24 October 2005 09:51:32
Répondre     Citer    
Re: [Débutant] Comment utiliser le bon shell correspondant ?
Envoyé par: nicola

Perdu ! Ce que tu viens de proposer est un énorme trou de sécurité. Imagine un script posé dans le répertoire courant, qui s’appelle ls et qui utilise les droits que tu as sûrement avec sudo.

--
On ne prête qu’aux riches, et on a bien raison, parce que les autres remboursent difficilement.
-+- Tristan Bernard (1866-1947) -+-

Poste le Monday 24 October 2005 10:03:42
Répondre     Citer    
Re: [Débutant] Comment utiliser le bon shell correspondant ?
Envoyé par: Alex.9-4-3.

C'est vrai, mais moins que si j'avais ajouté le . au début de mon PATH. :-))

Poste le Monday 24 October 2005 10:22:49
Répondre     Citer    
Re: [Débutant] Comment utiliser le bon shell correspondant ?
Envoyé par: nicola

Certes, mais par principe j’évite une telle astuce.

--
On ne prête qu’aux riches, et on a bien raison, parce que les autres remboursent difficilement.
-+- Tristan Bernard (1866-1947) -+-

Poste le Monday 24 October 2005 10:46:00
Répondre     Citer    
Re: [Débutant] Comment utiliser le bon shell correspondant ?
Envoyé par: Belokan

Donc il n'y a pas de réelle solution ?
Comment ça se fait que ça marche sous Unix et pas sous Linux, c'est la même base normalement, non ?

Poste le Monday 24 October 2005 11:26:40
Répondre     Citer    
Re: [Débutant] Comment utiliser le bon shell correspondant ?
Envoyé par: twocats

Citation
Belokan
Donc il n'y a pas de réelle solution ?
Tout ce qu'on t'as donné sont des solutions !

Citation
Belokan
Comment ça se fait que ça marche sous Unix et pas sous Linux
Ça marche, tu le fais simplement mal.

Citation
Belokan
c'est la même base normalement, non ?
Argh ! Troll detected angry smiley) !

Tu ouvre une console, tu te rends dans le répertoire où se trouve ton script :
cd /le/chemin/qui/va/bien
et tu le lance :
./script.sh

-------------------
La réponse est 42

Poste le Monday 24 October 2005 12:35:17
Répondre     Citer    
Re: [Débutant] Comment utiliser le bon shell correspondant ?
Envoyé par: Belokan

Ça t'écorcherait d'être un peu plus aimable tTwocats ?

Je viens ici pour trouver une solution et non pas pour me faire envoyer ballader !!


Ta fameuse solution miracle ne marche pas chez moi, c'est tout ! D'ailleurs, en parlant de solution, tu ne m'as rien appris vu que c'était exactement la même chose que j'avais fait !
Alex.9-4-3 et nicola, eux, ont essayé de me trouver une solution. Toi depuis le début, ce n'est que du foutage de gueule .... :-f

Poste le Monday 24 October 2005 13:08:14
Répondre     Citer    
Re: [Débutant] Comment utiliser le bon shell correspondant ?
Envoyé par: twocats

Citation
Belokan
J'ai bien fait tout ce que tu as marqué (cad rien de plus que ce que j'avais indiqué ... ) mais ça ne veut pas, il m'indique "nomdefichier : command not found" !
Reprenons. Tu as taper le nom du fichier dans une console et le retour de ligne t'as donné "nomdefichier : command not found".
Cela signifie que tu as sans doute taper par exemple :
script.sh
Hors, si le répertoire où se trouve le fichier n'est pas dans ton PATH, il faut soit lui indiquer le chemin de manière absolue :
/le/chemin/qui/va/bien/script.sh
soit lui indiquer de manière relative après s'être positionné dans le bon répertoire :
./script.sh
Le "./" veut dire "dans le répertoire courant".
Et bien sûr le fichier doit être executable.
Tu peut continuer à croire que c'est une solution "miracle" mais ce n'en est pas une...
Il serait également intéressant de savoir ce qu'est ce script bien que je pense que si le problème venait du script lui-même le message d'erreur serait différent.

-------------------
La réponse est 42

Poste le Monday 24 October 2005 14:10:38
Répondre     Citer    
Re: [Débutant] Comment utiliser le bon shell correspondant ?
Envoyé par: Belokan

Voilà qui est beaucoup plus clair !

En effet, quand je tape un ./ devant le nom du script, il l'execute bien. Donc sous linux, même si on se trouve dans le même répertoire que le script, il faut le lui préciser. Sous Unix, il n'y avait pas ce genre de soucis ... à moins que les admins aient fait quelque chose. ?-(

Pour les droits en execution sur le script, c'est bon, ça c'est rentré ;-)

Poste le Monday 24 October 2005 14:28:20
Répondre     Citer    
Re: [Débutant] Comment utiliser le bon shell correspondant ?
Envoyé par: twocats

Citation
Belokan
Sous Unix, il n'y avait pas ce genre de soucis ... à moins que les
admins aient fait quelque chose.
Je ne sais pas. Mais si tu peux executer n'importe quel programme n'importe où, c'est le "bordel" assuré (en plus d'être une monstruosité en matière de sécurité).

-------------------
La réponse est 42

Poste le Monday 24 October 2005 14:35:47
Répondre     Citer    
Re: [Débutant] Comment utiliser le bon shell correspondant ?
Envoyé par: diancech

Citation
Belokan
Sous Unix, il n'y avait pas ce genre de soucis ... à moins que les admins aient fait quelque chose.

Si tu ajoutes le répertoire "." à ton path tu pourras executer ce que tu veux où tu veux. Mais ce n'est pas un soucis, c'est plutôt comme le dit twocats un problème de sécurité.

C'est pas difficile de rajouter "./" pour tester ton script lors de son développement, aprés tu fais un répertoire ~/bin dans lequel tu mets tes scripts une fois qu'ils sont au point et tu ajoutes le répertoire ~/bin à ton path.

;-)

--------------------------------------------------------------------------------------------------------------------------------------------------
Exige beaucoup de toi-même et attends peu des autres. Ainsi beaucoup d'ennuis te seront épargnés. Confucius

Poste le Monday 24 October 2005 14:41:43
Répondre     Citer    
Re: [Débutant] Comment utiliser le bon shell correspondant ?
Envoyé par: Belokan

Citation
twocats
Mais si tu peux executer n'importe
quel programme n'importe où, c'est le "bordel"
assuré (en plus d'être une monstruosité en matière
de sécurité).

Non, cela ne marche que pour le répertoire courant : cad que si j'ai un script intitulé script1 dans /home/belokan/, lorsque je me situerai dans ce répertoire belokan, je pourrai executer le script juste en tapant son nom.

Poste le Monday 24 October 2005 14:42:03
Répondre     Citer    
Re: [Débutant] Comment utiliser le bon shell correspondant ?
Envoyé par: AlSim

Sinon tu peux toujours ajouter un répertoire ou tu mets des liens symboliques vers tous tes scripts utiles à ton path. Ex :

* créer un répertoire /home/belokan/.scripts
* l'ajouter à ton path
* à chaque nouveau script, faire un ln -s mon_script.sh ~/.scripts

Ensuite tu pourras le lancer depuis n'importe où en tappant juste son nom ...

Moi j'ai même fait encore mieux : un petit script (perl) qui crée un "sous-script" exécutable dans le répertoire .scripts qui a pour nom celui du fichier moins l'extension (marche avec py, pl, sh) et contient ce qu'il faut pour le lancer même sans le rendre exécutable lui même. Ex : si je le lance sur un fichier script01.py du répertoire /truc/scripts, il crée dans .scripts le fichier script01 exécutable contenant le code :

#! /usr/bin/env sh
python /truc/scripts/script01.py

C'est pratique parfois ... faut juste penser à nettoyer le .scripts de temps en temps !

[catwell.info]

Poste le Monday 24 October 2005 15:45:17
Répondre     Citer    
Re: [Débutant] Comment utiliser le bon shell correspondant ?
Envoyé par: Fifre

Je veux pas dire de bétise, mais il me semble mettre le ./ passe par la configuration du shell ... Mais c'est a vérifier, comme information ?-(

Poste le Monday 24 October 2005 17:45:41
Répondre     Citer    
Re: [Débutant] Comment utiliser le bon shell correspondant ?
Envoyé par: Belokan

Merci à tous pour cette avalanche de solutions ... :,(

Mais bon, je pense que je vais rester à taper du ./ , c'est tout ce que je trouve dans mes cordes. :-))

Poste le Monday 24 October 2005 19:02:44
Répondre     Citer    
Re: [Débutant] Comment utiliser le bon shell correspondant ?
Envoyé par: AlSim

Citation
nicola
Perdu ! Ce que tu viens de proposer est un énorme
trou de sécurité. Imagine un script posé dans le
répertoire courant, qui s’appelle ls et qui
utilise les droits que tu as sûrement avec sudo.

D'un autre côté, quelqu'un qui voudrait utiliser cette astuce pourrait tout aussi bien rajouter . au début du PATH (avec un export) non ? C'est vrai que je n'avais jamais pensé à ça ... de toute façon il ne faut pas mettre de choses comme ls dans un sudoers (et même si possible se passer de sudo) ...

[catwell.info]

Poste le Tuesday 25 October 2005 15:53:08
Répondre     Citer    
Re: [Débutant] Comment utiliser le bon shell correspondant ?
Envoyé par: Phill

Citation
auteur
Se passer de sudo
oui
mais comment faire pour pouvoir executer un programme appartenant à root uniquement et qu'on veut autoriser à un seul utilisateur autre que root mais pas pour les autres

Poste le Wednesday 26 October 2005 23:30:33
Répondre     Citer    
Aller à la page:  1 2 Page suivante
Page: 1 sur 2

Veuillez vous authentifier auparavant pour commenter.

 

Ce forum !
[Débutant] Comment utiliser le bon shell correspondant ?
Posez dans ce forum les questions qui ne trouvent pas place dans les autres...
Nouveau sujet sur ce forum

Sauf mention contraire, les documentations publiées sont sous licence Creative-Commons