En bash, comme dans Ruby, le nom du programme est donné de 0 $. Qu'est-ce que c'est dans le poisson? Je peux faire ce qui suit si je dois: mais je suis sûr que le nom du programme doit être déjà disponible quelque part. Je pourrais également définir le nom du programme en variable sur le talon de chaque programme, mais qui a des problèmes de maintenance. P> P>
3 Réponses :
pour poisson code> Utilisez
$ _ code> pour le nom du programme. p>
Merci. Je ne reçois rien avec $ _. Il y a une référence courte à $ _ dans lien . Aussi dans lien . A quelque chose à voir avec le titre de la fenêtre, mais ce n'est pas le nom du programme réel.
Interactivement, c'est le nom de la commande actuelle, par exemple. Pour echo $ _ code> il "renvoie
echo code>. Dans les fonctions, il est toujours la commande interactive de niveau supérieur que vous avez saisie (par exemple
fonction F; g; fin; fonction g; echo $ _; fin; fin code>, puis vous tapez
f code>, Il imprimera
f code>). Dans un script non interactif, il semble être vide. En tout cas, pas ce que vous voulez.
Y a-t-il une liste de ces noms de variables spéciaux n'importe où? (Un autre serait $ argv code>.) Ils sont plutôt difficiles à google pour ...
€ _ code> a été obsolète dans poisson
3.0.0 code> en faveur de
Status actuel-commande code> github.com/fish shell/fish shell/blob/master/...
Pour obtenir le même résultat que votre commande, c'est le nom de fichier que vous recherchez.
Ces informations ne sont pas stockées dans une variable, mais vous obtenez ceci en interrogeant le statut code>.
basename (status -f) # The name of the file
status -f # The full path of the file
Cela ne fonctionne pas si le nom du programme est différent du fichier exécuté. Par exemple, si la commande est une fonction définie dans config.fish ou un fichier symbolique.
S'il vous plaît essayez de ne pas définir les fonctions de votre config.fisfish code>, à la place, sauvegardez vos fichiers code> sur un emplacement de votre
$ poisson_function_path code> et let Les poissons chargent paresseusement la fonction quand elles sont utilisées pour la première fois.
Status -F code> me donne le nom du fichier, pas le chemin complet.
poisson code> 3.x code> xxx pré> voir Déprécations em> section de la documentation code> 3.0 p>
poisson code> 2.x code> h3> Utilisez $ _ code> pour le nom du programme. P> Voir titre programmable em> section du code 2.0 code> Documentation. P> h3>