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
et puis tu installes un fichier du shell
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".
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
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.
et le résultat sera quelquechose du genre "/home/nomdelutilisateur/nomdurepertoireparent"
edit: youhou j'ai trouvé! si j'inscris
$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"/}