GNU/Linux >> Tutoriels Linux >  >> Linux

Fish Shell teste l'existence d'un fichier dans $path ?

J'essaie de tester dans un script de coquille de poisson l'existence du figlet binaire. Depuis que j'utilise Linux et OS X, je ne peux pas compter sur le fait que le fichier se trouve au même endroit et j'ai besoin de le résoudre dynamiquement. J'ai l'habitude de le faire avec $(which) dans bash, ce qui fonctionne.

Avec du poisson, cela ne fonctionne pas correctement. Pourquoi ?

function print_hostname --description 'print hostname'
  if test -x (which figlet)
    hostname | figlet
  end
end

Réponse acceptée :

Utiliser type en fish comme dans Bourne-like shell :

if type -q figlet
  hostname | figlet
end

Ou pour limiter aux exécutables dans $PATH (en ignorant les fonctions, les fonctions intégrées) :

if command -s figlet > /dev/null
  hostname | figlet
end

Linux
  1. Ressources pour la programmation shell portable ?

  2. Extensions de fichiers pour les scripts shell Unix ?

  3. Tests unitaires pour les scripts shell

  4. Définir un alias dans la coquille de poisson

  5. Fish Shell :comment puis-je personnaliser les couleurs de la fonction de saisie semi-automatique ?

Commandes Secure Shell (SSH) pour l'administration Linux.

Commande ls sous Linux pour lister les fichiers

Activer l'horodatage pour la commande d'historique dans la coquille de poisson

Shell - Écrire le contenu d'une variable dans un fichier

Qu'est-ce qu'un fichier .sh ?

Script de translittération pour le shell Linux