環(huán)境自動加載工具direnv

最近在多個項目之間來回切換,其中不同項目需要使用同一個庫的不同版本,來回切換太麻煩,于是乎靶溜,想到了曾經有同事給我建議的環(huán)境自動加載工具direnv,可以使我在命令行中根據(jù)進入的目錄不同懒震,自動加載不同的環(huán)境配置罩息。下面就看看怎么使用吧。

下載安裝

可以從 https://github.com/direnv/direnv 下載自己操作系統(tǒng)的包个扰。

$ wget -c https://github.com/direnv/direnv/releases/download/v2.19.1/direnv.linux-amd64
$ mv direnv.linux-amd64 direnv
$ sudo mv direnv /usr/local/bin/

針對不同的shell使用不同的hook瓷炮,這里我使用的是bash,所以運行下面的命令递宅。

$ eval "$(direnv hook bash)"

到這里娘香,就算安裝完成了,下面看看怎么使用吧办龄。

使用

這里我們創(chuàng)建兩個目錄茅主,分別叫 myenv1 和 myenv2,然后我們測試分別進入不同目錄時自動切換環(huán)境土榴。

在 myenv1 目錄下創(chuàng)建 .envrc 文件诀姚,其中設置了一個環(huán)境變量并打印歡迎消息,內容如下:

#!/bin/bash

export myenv=myenv1
echo -e "\e[1;34m##################################################\e[0m"
echo -e "\e[1;34m#               Welcome to $myenv                #\e[0m"
echo -e "\e[1;34m##################################################\e[0m"

在 myenv2 目錄下創(chuàng)建 .envrc 文件玷禽,其中設置了一個環(huán)境變量并打印歡迎消息赫段,內容如下:

#!/bin/bash

export myenv=myenv2
echo -e "\e[1;34m##################################################\e[0m"
echo -e "\e[1;34m#               Welcome to $myenv                #\e[0m"
echo -e "\e[1;34m##################################################\e[0m"

這里注意一下,在編輯文件保存退出時會提示下面的內容

direnv: error .envrc is blocked. Run `direnv allow` to approve its content.

此時矢赁,我們需要使用下面命令使修改生效糯笙。

direnv allow

下面看看分別進入 myenv1 和 myenv2 目錄時環(huán)境的變化。

[kongxx@bdmaster test]$ cd myenv1
direnv: loading .envrc
##################################################
#               Welcome to myenv1                #
##################################################
direnv: export +myenv
[kongxx@bdmaster myenv1]$ env | grep myenv
DIRENV_DIR=-/home/kongxx/test/myenv1
PWD=/home/kongxx/test/myenv1
myenv=myenv1

[kongxx@bdmaster test]$ cd myenv2
direnv: loading .envrc
##################################################
#               Welcome to myenv2                #
##################################################
direnv: export +myenv
[kongxx@bdmaster myenv2]$ env | grep myenv
DIRENV_DIR=-/home/kongxx/test/myenv2
PWD=/home/kongxx/test/myenv2
myenv=myenv2
?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
  • 序言:七十年代末撩银,一起剝皮案震驚了整個濱河市给涕,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌,老刑警劉巖够庙,帶你破解...
    沈念sama閱讀 221,198評論 6 514
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件恭应,死亡現(xiàn)場離奇詭異,居然都是意外死亡耘眨,警方通過查閱死者的電腦和手機昼榛,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 94,334評論 3 398
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來剔难,“玉大人胆屿,你說我怎么就攤上這事∨脊” “怎么了非迹?”我有些...
    開封第一講書人閱讀 167,643評論 0 360
  • 文/不壞的土叔 我叫張陵,是天一觀的道長纯趋。 經常有香客問我憎兽,道長,這世上最難降的妖魔是什么结闸? 我笑而不...
    開封第一講書人閱讀 59,495評論 1 296
  • 正文 為了忘掉前任唇兑,我火速辦了婚禮酒朵,結果婚禮上桦锄,老公的妹妹穿的比我還像新娘。我一直安慰自己蔫耽,他們只是感情好结耀,可當我...
    茶點故事閱讀 68,502評論 6 397
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著匙铡,像睡著了一般图甜。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上鳖眼,一...
    開封第一講書人閱讀 52,156評論 1 308
  • 那天黑毅,我揣著相機與錄音,去河邊找鬼钦讳。 笑死矿瘦,一個胖子當著我的面吹牛,可吹牛的內容都是我干的愿卒。 我是一名探鬼主播缚去,決...
    沈念sama閱讀 40,743評論 3 421
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼琼开!你這毒婦竟也來了易结?” 一聲冷哼從身側響起,我...
    開封第一講書人閱讀 39,659評論 0 276
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎搞动,沒想到半個月后躏精,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經...
    沈念sama閱讀 46,200評論 1 319
  • 正文 獨居荒郊野嶺守林人離奇死亡滋尉,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 38,282評論 3 340
  • 正文 我和宋清朗相戀三年玉控,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片狮惜。...
    茶點故事閱讀 40,424評論 1 352
  • 序言:一個原本活蹦亂跳的男人離奇死亡高诺,死狀恐怖,靈堂內的尸體忽然破棺而出碾篡,到底是詐尸還是另有隱情虱而,我是刑警寧澤,帶...
    沈念sama閱讀 36,107評論 5 349
  • 正文 年R本政府宣布开泽,位于F島的核電站牡拇,受9級特大地震影響,放射性物質發(fā)生泄漏穆律。R本人自食惡果不足惜惠呼,卻給世界環(huán)境...
    茶點故事閱讀 41,789評論 3 333
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望峦耘。 院中可真熱鬧剔蹋,春花似錦、人聲如沸辅髓。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,264評論 0 23
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽洛口。三九已至矫付,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間第焰,已是汗流浹背买优。 一陣腳步聲響...
    開封第一講書人閱讀 33,390評論 1 271
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留挺举,地道東北人杀赢。 一個月前我還...
    沈念sama閱讀 48,798評論 3 376
  • 正文 我出身青樓,卻偏偏與公主長得像豹悬,于是被迫代替她去往敵國和親葵陵。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 45,435評論 2 359

推薦閱讀更多精彩內容

  • 官網 中文版本 好的網站 Content-type: text/htmlBASH Section: User ...
    不排版閱讀 4,401評論 0 5
  • feisky云計算瞻佛、虛擬化與Linux技術筆記posts - 1014, comments - 298, trac...
    不排版閱讀 3,866評論 0 5
  • 第一章 1.Linux是一套免費使用和自由傳播的類UNIX操作系統(tǒng)脱篙,它可以基于Intel x86系列處理器以及Cy...
    yansicing閱讀 5,461評論 0 9
  • (一)基本命令 命令格式: 命令 參數(shù) 1.ls 顯示文件名娇钱,等同于dos下dir命令 命令格式:ls [opti...
    飛羽孟德閱讀 1,891評論 0 3
  • 八月十五這天早起 文搂,我去早市買菜,一進市場門口秤朗,就看見駝背彎腰的劉治穹煤蹭,杵著拐棍倚在門口,兩只眼睛瞇著取视,咧著嘴硝皂,露...
    玥美洋洋閱讀 562評論 0 5