en fait je veux juste être ailleurs que dans mon dossier de départ quand j'ouvre le terminal donc ça marche pas si je met le cd dans un sous-shell
Si c'est vraiment ce que tu veux, tu peux rajouter un truc de ce genre en toute fin de ton ~/.profile: cd "blah" && printf 'Vous êtes dans le répertoire %b.' $PWD
??? Pourquoi %b ? Manque des quotes, a moins que le shell ne soit zsh.
cd "blah" && printf 'Vous êtes dans le répertoire %s.n' "$PWD"
-- Stéphane
2007-09-9, 00:14(+02), Nicolas S.:
Thomas <fantome.forums.tDeContes@free.fr.invalid> a écrit:
en fait je veux juste être ailleurs que dans mon dossier de départ
quand j'ouvre le terminal
donc ça marche pas si je met le cd dans un sous-shell
Si c'est vraiment ce que tu veux, tu peux rajouter un truc de ce genre
en toute fin de ton ~/.profile:
cd "blah" && printf 'Vous êtes dans le répertoire %b.' $PWD
??? Pourquoi %b ? Manque des quotes, a moins que le shell ne soit
zsh.
cd "blah" &&
printf 'Vous êtes dans le répertoire %s.n' "$PWD"
en fait je veux juste être ailleurs que dans mon dossier de départ quand j'ouvre le terminal donc ça marche pas si je met le cd dans un sous-shell
Si c'est vraiment ce que tu veux, tu peux rajouter un truc de ce genre en toute fin de ton ~/.profile: cd "blah" && printf 'Vous êtes dans le répertoire %b.' $PWD
??? Pourquoi %b ? Manque des quotes, a moins que le shell ne soit zsh.
cd "blah" && printf 'Vous êtes dans le répertoire %s.n' "$PWD"
-- Stéphane
Thomas
In article , Stephane Chazelas wrote:
2007-09-08, 17:57(+02), Thomas:
In article , Matthieu Moy wrote:
Thomas writes:
ah ben non, j'ai essayé (sans rien mettre devant le nom du fichier, comme dans le terminal), ça ne marche pas !
./mon-executable.sh
source ./mon-executable.sh
si je met
source ../fichiers-initialisation/alias au lieu de source ~/Administration/shell/fichiers-initialisation/alias
dans ~/Administration/shell/demarrage/profile
ça me donne -bash: ../fichiers-initialisation/alias: No such file or directory [...]
Les chemins relatifs sont relatifs au chemin courant (ce que retourne la command pwd), pas a un des repertoire qui contient ton script.
c'est bien ce que je pensais, dommage qu'il n'y ait pas de solution
même si ça va pas marcher pour les "source", y a peut être une solution pour les sous-shells
dans les logiciels, on a moyen de récupérer la ligne de commande complète, avec le nom de la commande et le chemin si il y est il n'y a pas moyen de récupérer le chemin de la commande de cette manière là ?
-- j'agis contre l'assistanat, je travaille dans une SCOP !
In article <slrnfe5mi2.jrv.stephane.chazelas@spam.is.invalid>,
Stephane Chazelas <cette.adresse@est.invalid> wrote:
2007-09-08, 17:57(+02), Thomas:
In article <vpqabrx40op.fsf@bauges.imag.fr>,
Matthieu Moy <MatthieuNOSPAM.Moy@imag.fr.invalid> wrote:
Thomas <fantome.forums.tDeContes@free.fr.invalid> writes:
ah ben non,
j'ai essayé (sans rien mettre devant le nom du fichier, comme dans le
terminal), ça ne marche pas !
./mon-executable.sh
source ./mon-executable.sh
si je met
source ../fichiers-initialisation/alias
au lieu de
source ~/Administration/shell/fichiers-initialisation/alias
dans
~/Administration/shell/demarrage/profile
ça me donne
-bash: ../fichiers-initialisation/alias: No such file or directory
[...]
Les chemins relatifs sont relatifs au chemin courant (ce que
retourne la command pwd), pas a un des repertoire qui contient
ton script.
c'est bien ce que je pensais, dommage qu'il n'y ait pas de solution
même si ça va pas marcher pour les "source", y a peut être une solution
pour les sous-shells
dans les logiciels, on a moyen de récupérer la ligne de commande
complète, avec le nom de la commande et le chemin si il y est
il n'y a pas moyen de récupérer le chemin de la commande de cette
manière là ?
--
j'agis contre l'assistanat, je travaille dans une SCOP !
même si ça va pas marcher pour les "source", y a peut être une solution pour les sous-shells
dans les logiciels, on a moyen de récupérer la ligne de commande complète, avec le nom de la commande et le chemin si il y est il n'y a pas moyen de récupérer le chemin de la commande de cette manière là ?
-- j'agis contre l'assistanat, je travaille dans une SCOP !
Thomas
In article , Stephane Chazelas wrote:
2007-09-9, 00:14(+02), Nicolas S.:
Thomas a écrit:
en fait je veux juste être ailleurs que dans mon dossier de départ quand j'ouvre le terminal donc ça marche pas si je met le cd dans un sous-shell
Si c'est vraiment ce que tu veux, tu peux rajouter un truc de ce genre en toute fin de ton ~/.profile: cd "blah" && printf 'Vous êtes dans le répertoire %b.' $PWD
??? Pourquoi %b ? Manque des quotes, a moins que le shell ne soit zsh.
cd "blah" && printf 'Vous êtes dans le répertoire %s.n' "$PWD"
merci :-)
-- j'agis contre l'assistanat, je travaille dans une SCOP !
In article <slrnfe67vl.pbm.stephane.chazelas@spam.is.invalid>,
Stephane Chazelas <cette.adresse@est.invalid> wrote:
2007-09-9, 00:14(+02), Nicolas S.:
Thomas <fantome.forums.tDeContes@free.fr.invalid> a écrit:
en fait je veux juste être ailleurs que dans mon dossier de départ
quand j'ouvre le terminal
donc ça marche pas si je met le cd dans un sous-shell
Si c'est vraiment ce que tu veux, tu peux rajouter un truc de ce genre
en toute fin de ton ~/.profile:
cd "blah" && printf 'Vous êtes dans le répertoire %b.' $PWD
??? Pourquoi %b ? Manque des quotes, a moins que le shell ne soit
zsh.
cd "blah" &&
printf 'Vous êtes dans le répertoire %s.n' "$PWD"
merci :-)
--
j'agis contre l'assistanat, je travaille dans une SCOP !
en fait je veux juste être ailleurs que dans mon dossier de départ quand j'ouvre le terminal donc ça marche pas si je met le cd dans un sous-shell
Si c'est vraiment ce que tu veux, tu peux rajouter un truc de ce genre en toute fin de ton ~/.profile: cd "blah" && printf 'Vous êtes dans le répertoire %b.' $PWD
??? Pourquoi %b ? Manque des quotes, a moins que le shell ne soit zsh.
cd "blah" && printf 'Vous êtes dans le répertoire %s.n' "$PWD"
merci :-)
-- j'agis contre l'assistanat, je travaille dans une SCOP !
Marc
Thomas wrote:
... je pense à un truc
même si ça va pas marcher pour les "source", y a peut être une solution pour les sous-shells
dans les logiciels, on a moyen de récupérer la ligne de commande complète, avec le nom de la commande et le chemin si il y est il n'y a pas moyen de récupérer le chemin de la commande de cette manière là ?
Tu penses à `dirname "$0"` ? (ce n'est pas d'une fiabilité à toute épreuve mais pour ce que tu fais ça a des chances de marcher)
Thomas wrote:
... je pense à un truc
même si ça va pas marcher pour les "source", y a peut être une solution
pour les sous-shells
dans les logiciels, on a moyen de récupérer la ligne de commande
complète, avec le nom de la commande et le chemin si il y est
il n'y a pas moyen de récupérer le chemin de la commande de cette
manière là ?
Tu penses à `dirname "$0"` ? (ce n'est pas d'une fiabilité à toute
épreuve mais pour ce que tu fais ça a des chances de marcher)
même si ça va pas marcher pour les "source", y a peut être une solution pour les sous-shells
dans les logiciels, on a moyen de récupérer la ligne de commande complète, avec le nom de la commande et le chemin si il y est il n'y a pas moyen de récupérer le chemin de la commande de cette manière là ?
Tu penses à `dirname "$0"` ? (ce n'est pas d'une fiabilité à toute épreuve mais pour ce que tu fais ça a des chances de marcher)
Stephane Chazelas
2007-09-9, 18:07(+00), Marc:
Thomas wrote:
... je pense à un truc
même si ça va pas marcher pour les "source", y a peut être une solution pour les sous-shells
dans les logiciels, on a moyen de récupérer la ligne de commande complète, avec le nom de la commande et le chemin si il y est il n'y a pas moyen de récupérer le chemin de la commande de cette manière là ?
Tu penses à `dirname "$0"` ? (ce n'est pas d'une fiabilité à toute épreuve mais pour ce que tu fais ça a des chances de marcher)
Pas pour des scripts sourcés. Toutefois, avec des versions recentes de bash, on peut utiliser la variable de type array $BASH_SOURCE.
devrait retourner le chemin absolu du script sourcé.
Cela dit "$0" marche pour les scripts non-sourcés et si un script source un autre script, alors il connait deja son chemin, donc il peut tres bien le mettre dans une variable.
-- Stéphane
2007-09-9, 18:07(+00), Marc:
Thomas wrote:
... je pense à un truc
même si ça va pas marcher pour les "source", y a peut être une solution
pour les sous-shells
dans les logiciels, on a moyen de récupérer la ligne de commande
complète, avec le nom de la commande et le chemin si il y est
il n'y a pas moyen de récupérer le chemin de la commande de cette
manière là ?
Tu penses à `dirname "$0"` ? (ce n'est pas d'une fiabilité à toute
épreuve mais pour ce que tu fais ça a des chances de marcher)
Pas pour des scripts sourcés. Toutefois, avec des versions
recentes de bash, on peut utiliser la variable de type array
$BASH_SOURCE.
devrait retourner le chemin absolu du script sourcé.
Cela dit "$0" marche pour les scripts non-sourcés et si un
script source un autre script, alors il connait deja son chemin,
donc il peut tres bien le mettre dans une variable.
même si ça va pas marcher pour les "source", y a peut être une solution pour les sous-shells
dans les logiciels, on a moyen de récupérer la ligne de commande complète, avec le nom de la commande et le chemin si il y est il n'y a pas moyen de récupérer le chemin de la commande de cette manière là ?
Tu penses à `dirname "$0"` ? (ce n'est pas d'une fiabilité à toute épreuve mais pour ce que tu fais ça a des chances de marcher)
Pas pour des scripts sourcés. Toutefois, avec des versions recentes de bash, on peut utiliser la variable de type array $BASH_SOURCE.
devrait retourner le chemin absolu du script sourcé.
Cela dit "$0" marche pour les scripts non-sourcés et si un script source un autre script, alors il connait deja son chemin, donc il peut tres bien le mettre dans une variable.
(c'est une vraie question, venant de toi, je soupçonne qu'il y ait une bonne raison ;-) ).
Cela dit "$0" marche pour les scripts non-sourcés et si un script source un autre script, alors il connait deja son chemin, donc il peut tres bien le mettre dans une variable.
(c'est une vraie question, venant de toi, je soupçonne qu'il y ait une
bonne raison ;-) ).
Cela dit "$0" marche pour les scripts non-sourcés et si un
script source un autre script, alors il connait deja son chemin,
donc il peut tres bien le mettre dans une variable.
(c'est une vraie question, venant de toi, je soupçonne qu'il y ait une bonne raison ;-) ).
Cela dit "$0" marche pour les scripts non-sourcés et si un script source un autre script, alors il connait deja son chemin, donc il peut tres bien le mettre dans une variable.
Oui, mais si tu met « cd -P », pas la peine de faire « pwd -P », non ?
En theorie, oui. Mais comme pwd (cad pwd -L) veut dire "chemin logique courant" et que je suis interessé par le chemin physique courant, je trouve ca plus coherent d'utiliser pwd -P meme si a cet instant precis les chemin logique et physique sont les memes.
Oui, mais si tu met « cd -P », pas la peine de faire « pwd -P », non ?
En theorie, oui. Mais comme pwd (cad pwd -L) veut dire "chemin
logique courant" et que je suis interessé par le chemin physique
courant, je trouve ca plus coherent d'utiliser pwd -P meme si a
cet instant precis les chemin logique et physique sont les
memes.
Oui, mais si tu met « cd -P », pas la peine de faire « pwd -P », non ?
En theorie, oui. Mais comme pwd (cad pwd -L) veut dire "chemin logique courant" et que je suis interessé par le chemin physique courant, je trouve ca plus coherent d'utiliser pwd -P meme si a cet instant precis les chemin logique et physique sont les memes.
-- Stéphane
Thomas
In article , Stephane Chazelas wrote:
2007-09-9, 18:07(+00), Marc:
Thomas wrote:
... je pense à un truc
même si ça va pas marcher pour les "source", y a peut être une solution pour les sous-shells
dans les logiciels, on a moyen de récupérer la ligne de commande complète, avec le nom de la commande et le chemin si il y est il n'y a pas moyen de récupérer le chemin de la commande de cette manière là ?
Tu penses à `dirname "$0"` ? (ce n'est pas d'une fiabilité à toute épreuve mais pour ce que tu fais ça a des chances de marcher)
merci bcp :-)
y a pas de possibilité si le script est dans le path et qu'on tape son nom directement ?
Pas pour des scripts sourcés. Toutefois, avec des versions recentes de bash, on peut utiliser la variable de type array $BASH_SOURCE.
devrait retourner le chemin absolu du script sourcé.
ça ne marche pas chez moi :-( peut être que j'ai un bash pas assez récent ...
tant pis, c'est deja ça, merci :-)
-- j'agis contre l'assistanat, je travaille dans une SCOP !
In article <slrnfe8e4v.hp9.stephane.chazelas@spam.is.invalid>,
Stephane Chazelas <cette.adresse@est.invalid> wrote:
2007-09-9, 18:07(+00), Marc:
Thomas wrote:
... je pense à un truc
même si ça va pas marcher pour les "source", y a peut être une solution
pour les sous-shells
dans les logiciels, on a moyen de récupérer la ligne de commande
complète, avec le nom de la commande et le chemin si il y est
il n'y a pas moyen de récupérer le chemin de la commande de cette
manière là ?
Tu penses à `dirname "$0"` ? (ce n'est pas d'une fiabilité à toute
épreuve mais pour ce que tu fais ça a des chances de marcher)
merci bcp :-)
y a pas de possibilité si le script est dans le path et qu'on tape son
nom directement ?
Pas pour des scripts sourcés. Toutefois, avec des versions
recentes de bash, on peut utiliser la variable de type array
$BASH_SOURCE.
même si ça va pas marcher pour les "source", y a peut être une solution pour les sous-shells
dans les logiciels, on a moyen de récupérer la ligne de commande complète, avec le nom de la commande et le chemin si il y est il n'y a pas moyen de récupérer le chemin de la commande de cette manière là ?
Tu penses à `dirname "$0"` ? (ce n'est pas d'une fiabilité à toute épreuve mais pour ce que tu fais ça a des chances de marcher)
merci bcp :-)
y a pas de possibilité si le script est dans le path et qu'on tape son nom directement ?
Pas pour des scripts sourcés. Toutefois, avec des versions recentes de bash, on peut utiliser la variable de type array $BASH_SOURCE.