#1 Le 23/09/2016, à 06:14
- zagicien
petit probleme sh cd directory [résolu]
Bonjour, Je suis un débutant sous linux, et je n'arrive pas à me simplifier la tâche avec un petit script shell.
En tant normal, j'ouvrerai un Terminal et j'écrirai ceci
$ cd Directory1/Directory2/Directory3/Directory4/Directory5/Directory6/Directory7/Directory1
$ ./start.sh
Je voudrai me simplifier la vie et faire en sorte que quand J'ouvre le Terminal et je tape simplement "./test.sh" (test.sh qui est dans /home/xxx/)
Le problème c'est que lorsque j'exécute mon test.sh le cd Directory1... ne fonctionne pas. Comme si je n'arrivai pas à parcourir les dossiers.
Je ne voie vraiment pas comment je pourrais faire autrement.
Pouvez-vous m'aider s'il vous plait à comprendre comment je pourrai résoudre ceci?
Merci,
Dernière modification par zagicien (Le 23/09/2016, à 16:37)
Hors ligne
#2 Le 23/09/2016, à 06:26
- pingouinux
Re : petit probleme sh cd directory [résolu]
Bonjour,
Il faudrait que tu montres le script. Si tu ne donnes pas un chemin absolu en argument de cd, tu pars du répertoire courant.
Quand tu sors du script, tu reviens au répertoire d'où tu l'as lancé, à moins de l'exécuter dans le shell courant
. test.sh
# ou bien
source test.sh
Hors ligne
#3 Le 23/09/2016, à 12:30
- Watael
Re : petit probleme sh cd directory [résolu]
salut,
pingouinux: tu vas le perdre si tu lui parles de sourcer son script.
zagicien: dans le script, tu pourrais, pour voir ce qu'il peut atteindre, lster le répertoire sous lequel le script se situe.
Connected \o/
Welcome to sHell. · eval is evil.
Hors ligne
#4 Le 23/09/2016, à 14:25
- MicP
Re : petit probleme sh cd directory [résolu]
Bonjour
…Il faudrait que tu montres le script. …
Je dirais même mieux : Montre nous les chemins absolus et le contenu des scripts test.sh et start.sh
=======
Par exemple, les chemins absolus de ces deux scripts pourraient être :
/home/zagicien/test.sh
et
/home/zagicien/Directory1/Directory2/Directory3/Directory4/Directory5/Directory6/Directory7/Directory1/start.sh
Mais on n'en est pas sûr,
et suivant les commandes utilisées ou/et comment elles sont formulées dans tes scripts, le chemin absolu ou relatif peut ou doit être utilisé.
Dernière modification par MicP (Le 23/09/2016, à 14:34)
Hors ligne
#5 Le 23/09/2016, à 16:36
- zagicien
Re : petit probleme sh cd directory [résolu]
J'ai résolu mon problème en ajoutant "/home/xxx/" au début de mon cd et en faisant ceci:
vi -b test.sh
# we must remove all ^M at the end of each line
dos2unix test.sh
Dernière modification par zagicien (Le 23/09/2016, à 16:38)
Hors ligne
#6 Le 23/09/2016, à 17:19
- erresse
Re : petit probleme sh cd directory [résolu]
J'ai résolu mon problème en ajoutant "/home/xxx/" au début de mon cd et en faisant ceci:
vi -b test.sh
# we must remove all ^M at the end of each line
dos2unix test.sh
Tu avais écrit ton script sous Windows ?
Tu dois savoir que les fins de lignes dans les fichiers ne sont pas signalées de la même manière sous Linux et Windows :
- Sous Linux, la fin de ligne est un simple code "newline"
- Sous Windows, la fin de ligne est un couple de deux codes "carriage_return+newline"
Ce code supplémentaire gène la bonne compréhension des fichiers exploités sous Linux.
Plus de 50 ans d'informatique, ça en fait des lignes de commandes en console, mais on n'avait pas le choix...
Excellente raison pour, aujourd'hui qu'on le peut, utiliser au maximum les INTERFACES GRAPHIQUES !
Important : Une fois le problème solutionné, pensez à clore votre sujet en ajoutant [Résolu] devant le titre du 1er message, et un bref récapitulatif de la solution à la fin de celui-ci. Merci.
Hors ligne