GNU/Linux >> Znalost Linux >  >> Linux

Příkaz Conda pracuje v příkazovém řádku, ale ne ve skriptu bash

Pokud vám metoda @randomwalker nefunguje, což nebude fungovat nikdy, když je váš skript spuštěn v základním prostředí, jako je sh, pak máte dvě možnosti.

  1. Přidejte do svého skriptu toto:eval $(conda shell.bash hook)

  2. Zavolejte skript pomocí:bash -i <scriptname> takže běží ve vašem interaktivním prostředí.


Problém jsem vyřešil díky komentáři @darthbith.

Od conda je bash funkce a bash funkce nelze šířit do nezávislých shellů (např. otevřít spuštěním bash skriptu), je třeba přidat řádek

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

do bash skriptu před voláním příkazů conda. Jinak bash nebude vědět o conda.


Linux
  1. Příkaz nenalezen v Bash Opraveno

  2. Bash Echo Příkazový řádek spuštěn na samotném příkazovém řádku (ne ve skriptu)?

  3. Proměnná Curl Outfile nefunguje ve skriptu Bash?

  1. Příkaz nebyl nalezen v Zsh, ale nalezen v Bash?

  2. Man Command nefunguje?

  3. bash:netstat:příkaz nenalezen.

  1. Jakýkoli způsob, jak ukončit bash skript, ale ne opustit terminál

  2. bash sh - příkaz nenalezen

  3. Linuxový příkaz 'll' nefunguje