exemple :
me@robby:~/faustest$ !512
cat dir1/myscript.sh
#!/bin/bash
touch fichier
lorsque j'execute du répertoire courant contenant dir1 , sh dir1/myscript.sh , il n'execute pas le touch .. Par contre si je vais dans dir1 et que je l'execute il le fait bien .
j'ai loupé qqch ?
# chez moi ca marche :)
Posté par fearan . Évalué à 3.
car si tu fais
sh rep1/myscript.sh
il te faut le droit d'écriture dans le répertoire contenant rep1
si tu veux que le script fasse un touch du fichier dans le répertoire du script, il faut changer de répertoire pour aller dans celui du script
ça se fait à coup de
$0
cd
dirname
ensuite faut juste les articuler correctement :D
Il ne faut pas décorner les boeufs avant d'avoir semé le vent
[^] # Re: chez moi ca marche :)
Posté par eastwind☯ . Évalué à 2.
En fait le touch c'est pour testé j'aimerais executer un script d'un sous repertoire simplement sans faire de cd
[^] # Re: chez moi ca marche :)
Posté par fearan . Évalué à 3.
$> cat bunk/plop.sh
#!/bin/bash
touch plop
$> sh bunk/myscript.sh
$> ls
bunk/ plop
ça marche.
si tu veux que le plop soit dans le répertoir de ton script il faut
* préfixer le fichier par le répertoire ( obtenu dans le scipt par un dirname "$0", t'as aussi des astuces pour que ce soit plus rapide mais c'est moins lisible)
* changer le répertoire de travail du script ( fait par un cd dans le script )
Il ne faut pas décorner les boeufs avant d'avoir semé le vent
# un script peut se débugguer
Posté par tuxce (site web personnel) . Évalué à 4.
dir1/myscript.sh
"fichier" va être dans le répertoire en cours et non dans "dir1"
sinon, tu peux rajouter un
set -x
comme suit:
#!/bin/bash
set -x
touch fichier
et tu auras la liste de ce que fait le script
Suivre le flux des commentaires
Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.