Se il metodo di @randomwalker non funziona per te, cosa che non succederà ogni volta che il tuo script viene eseguito in una shell più semplice come sh, allora hai due opzioni.
-
Aggiungi questo al tuo script:
eval $(conda shell.bash hook)
-
Chiama il tuo script con:
bash -i <scriptname>
in modo che funzioni nel tuo ambiente interattivo.
Ho risolto il problema grazie al commento di @darthbith.
Dal conda
è una funzione bash e le funzioni bash non possono essere propagate a shell indipendenti (ad esempio aperte eseguendo uno script bash), è necessario aggiungere la riga
source /opt/anaconda/etc/profile.d/conda.sh
allo script bash prima di chiamare i comandi conda. Altrimenti bash non saprà di conda.