Page 1 sur 1

Récupérer le nom d'un fichier

Posté : sam. 31 déc. 2016 09:52
par tiogran
Bonjour,

Existe-t-il une commande pour récupérer le nom d'un fichier et plus précisement le nom d'un fichier .sh que l'on executerai, Merci!

tiogran

Re: Récupérer le nom d'un fichier

Posté : sam. 31 déc. 2016 10:15
par mpat
salut, je suis pas sur de bien te suivre ... si tu crées un fichier .sh, tu dois le rendre exécutable, ensuite tu peux créer un lanceur pour ce fichier .sh

Re: Récupérer le nom d'un fichier

Posté : sam. 31 déc. 2016 10:19
par roromint
salux

si tu fais un accès du permission

les fichiers du permissions d'accès du administrateur

Code : Tout sélectionner

chmod +x nomdufichiers.sh
et puis tu installes un fichier du shell

Code : Tout sélectionner

sudo sh ./nomdufichiers.sh
voila

Re: Récupérer le nom d'un fichier

Posté : sam. 31 déc. 2016 12:47
par tiogran
Bonjour @mpat et @roromint,

Je ne sais plus ou j'ai vu cette signature mais elle illustrerait parfaitement ce qu'il m'arrive à cet instant et elle disait en gros "Il est plus difficile d'exprimer clairement sa demande que d'en obtenir une réponse". :D

Je ne cherche pas à lancer un fichier .sh mais à pouvoir affecter à une variable la valeur string de son nom (ou titre). par exemple si le fichier s'appelle "nomdudichier.sh" j'aimerai qu'il lance comme une sorte d'introspection de lui-même et qu'il renvoit une valeur par exemple : "je suis un fichier .sh et je me nomme "nomdufichier""

J'espère avoir clairement exprimer mon besoin

Re: Récupérer le nom d'un fichier

Posté : sam. 31 déc. 2016 13:01
par roromint
bonjour
oui cpossible

Code : Tout sélectionner

mv nomdufichiers.sh remonedufichiers.sh 
voila

Re: Récupérer le nom d'un fichier

Posté : sam. 31 déc. 2016 14:48
par tiogran
Ce que tu écris signifie : déplaces le fichier "nomdufichier.sh" vers "renomefichiers.sh". Je souhaite pour ma part récupérer le nom du fichier pour l'affecter à une variable.
Peut être y-a-t-il méprise sur le terme "récupérer" et je devrai peut être dire "renvoyer"... Un exemple de récupération de valeur que je connaisse est la commande "pwd"; si on éxécute la commande "pwd" celle-ci renvoit le nom du repertoire parent.

Code : Tout sélectionner

#!/bin/bash
b=$PWD
echo $b
et le résultat sera quelquechose du genre "/home/nomdelutilisateur/nomdurepertoireparent"

edit: youhou j'ai trouvé! si j'inscris

Code : Tout sélectionner

#!/bin/bash
echo "mon nom est $0"
$0 renverra une chaine de caractère contenant le nom du fichier

Pour isoler le nom du fichier j'ai pensé à çà.

Code : Tout sélectionner

#!/bin/bash
#en partant du principe que le script n'est pas lançé depuis le terminal.
a=$0
b=$PWD
#supprime la chaine de caractère renvoyée par PWD par 
a=${a/$b/}
#supprime le type du fichier = il ne reste plus que le nom du fichier
a=${a/".sh"/}