GNU/Linux >> Tutoriels Linux >  >> Linux

Commande Conda fonctionnant dans l'invite de commande mais pas dans le script bash

Si la méthode de @randomwalker ne fonctionne pas pour vous, ce qui ne fonctionnera pas à chaque fois que votre script sera exécuté dans un shell plus basique tel que sh, alors vous avez deux options.

  1. Ajoutez ceci à votre script :eval $(conda shell.bash hook)

  2. Appelez votre script avec :bash -i <scriptname> afin qu'il s'exécute dans votre environnement interactif.


J'ai résolu le problème grâce au commentaire de @darthbith.

Depuis le conda est une fonction bash et les fonctions bash ne peuvent pas être propagées à des shells indépendants (par exemple, ouvertes en exécutant un script bash), il faut ajouter la ligne

source /opt/anaconda/etc/profile.d/conda.sh

au script bash avant d'appeler les commandes conda. Sinon bash ne saura rien pour conda.


Linux
  1. Bash Echo La ligne de commande exécutée sur la ligne de commande elle-même (pas dans un script) ?

  2. La variable Curl Outfile ne fonctionne pas dans le script Bash ?

  3. La commande Rm dans le script Bash ne fonctionne pas avec la variable ?

  4. Commande introuvable dans Zsh, mais trouvée dans Bash ?

  5. bash :netstat :commande introuvable.

Commande de mise en veille Linux (Pause d'un script Bash)

Exécutez la commande bash sur le pipeline jenkins

CentOS a installé php72 mais la ligne de commande php ne fonctionne pas

Script Linux Bash, une seule commande mais plusieurs lignes ?

Comment afficher le chemin actuel dans l'invite de commande dans le sh (pas bash) de Linux ?

Linux - la commande mount renvoie zéro/0 mais ne fonctionne pas