在shell腳本中激活conda虛擬環(huán)境的方法總結(jié)
在shell腳本中激活conda虛擬環(huán)境
常用命令行激活conda的env的命令有2種:
conda activate ENV_NAME source /home/zhaohuiyao/minconda3/bin/activate ENV_NAME
但是如果你想在一個(gè)shell腳本中激活conda的env,有許多辦法。我這里只提供了一種我使用的。
情況1: 直接使用conda activate ENV_NAME 會(huì)報(bào)錯(cuò)

這種情況,你只需要用source /home/zhaohuiyao/miniconda3/bin/activate ENV_NAME即可,再次運(yùn)行shell腳本。
情況2: 出現(xiàn)source:not found的報(bào)錯(cuò)情況,這與你的linux版本有關(guān)以及shell解析器有關(guān)

ubuntu系統(tǒng)的默認(rèn)shell解析器是dash,你需要將dash改成bash,要root權(quán)限,我沒有。(Centos就不會(huì)有這個(gè)問題)
查看系統(tǒng)版本信息命令:cat /proc/version
查看默認(rèn)解析器命令:ls -l /bin/sh

最簡單:你的shell首行是#!/bin/bash,那么你只需要在執(zhí)行腳本時(shí)用/bin/bash ./run.sh 即可,就能識(shí)別source命令
因?yàn)槲覀円话銏?zhí)行shell腳本的方法是:
①提高權(quán)限:chomd 775 ./run.sh,然后直接./run.sh
②直接:sh ./run.sh
這兩種都是用默認(rèn)shell解析器,而Ubuntu默認(rèn)是dash,因此會(huì)有沖突
當(dāng)然如果你有root權(quán),你可以,dpkg-reconfigure dash,選擇no,之后再次運(yùn)行ls -l /bin/sh,就會(huì)是/bin/sh -> bash
查看自己shell解析器:grep zhaohuiyao /etc/passwd
總結(jié)
到此這篇關(guān)于在shell腳本中激活conda虛擬環(huán)境的文章就介紹到這了,更多相關(guān)shell腳本激活conda虛擬環(huán)境內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
通過shell腳本循環(huán)進(jìn)入目錄執(zhí)行命令的方法
今天小編就為大家分享一篇通過shell腳本循環(huán)進(jìn)入目錄執(zhí)行命令的方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧2018-06-06
shell學(xué)習(xí)之printf命令格式化輸出語句
printf命令模仿C程序庫(library)里的printf()庫程序(library routine)。它幾乎復(fù)制了該函數(shù)的所有功能。不過在Shell層級(jí)的版本上,會(huì)有些差異。下面這篇文章就給大家主要介紹了shell中printf命令格式化輸出語句的相關(guān)資料,需要的朋友可以參考下。2017-01-01
linux shell腳本學(xué)習(xí)錄制與回放終端會(huì)話
這篇文章主要介紹了linux錄制與回放終端會(huì)話實(shí)例,大家參考使用吧2013-12-12
Shell eval通過變量獲取環(huán)境變量的方法實(shí)現(xiàn)
這篇文章主要介紹了Shell eval通過變量獲取環(huán)境變量的方法實(shí)現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2020-12-12
shell編程時(shí)出現(xiàn):未預(yù)期的符號(hào)?`then'?附近有語法錯(cuò)誤?或者?:?行?:?`then&
這篇文章主要介紹了shell編程時(shí)出現(xiàn):未預(yù)期的符號(hào)?`then'?附近有語法錯(cuò)誤?或者?:?行?:?`then'問題,本文給大家介紹的非常詳細(xì),需要的朋友參考下2022-12-12
在多個(gè)?Linux?服務(wù)器上運(yùn)行多個(gè)命令的操作指南
如果你正在管理多臺(tái)?Linux?服務(wù)器,并且你想在所有?Linux?服務(wù)器上運(yùn)行多個(gè)命令,但你不知道該怎么做,不用擔(dān)心,本文我們將向您展示如何在多個(gè)?Linux?服務(wù)器上同時(shí)運(yùn)行多個(gè)命令,需要的朋友可以參考下2023-07-07

