shell腳本環(huán)境變量.bashrc配置實踐
shell腳本環(huán)境變量.bashrc配置
1.首先關(guān)于 Linux中的環(huán)境變量配置不只有’/etc/profile’,還有
‘/etc/profile.d/*.sh' ‘~/.bash_profile' ‘~/.bashrc' ‘/etc/bashrc'
等
2.顯然帶有bash的一般跟我們編寫腳本有關(guān)
3.問題來了:當(dāng)我們編寫完腳本啟動時會報找不到相關(guān)變量的錯誤
例如:
下面是一個zookeeper的集群啟動關(guān)閉腳本案例
#! /bin/bash
case $1 in
"start"){
for i in hadoop101 hadoop102 hadoop103
do
ssh $i "/opt/module/zookeeper-3.4.10/bin/zkServer.sh start"
done
};;
"stop"){
for i in hadoop101 hadoop102 hadoop103
do
ssh $i "/opt/module/zookeeper-3.4.10/bin/zkServer.sh stop"
done
};;
esac
當(dāng)我們執(zhí)行之后,發(fā)現(xiàn)zk并沒有啟動,查看日志之后發(fā)現(xiàn)報錯是拒絕連接,或者只有一行文字:找不到j(luò)ava。
這就是bash腳本的環(huán)境變量沒有配置,但是我們已經(jīng)在’/etc/profile’中配置好了相關(guān)環(huán)境變量,這是因為ssh登錄不會自動 source環(huán)境變量
此時解決問題的方法有三:
方法一
改寫腳本,加入環(huán)境變量
#! /bin/bash
case $1 in
"start"){
for i in hadoop101 hadoop102 hadoop103
do
ssh $i "source /etc/profile && /opt/module/zookeeper-3.4.10/bin/zkServer.sh start"
done
};;
"stop"){
for i in hadoop101 hadoop102 hadoop103
do
ssh $i "source /etc/profile && /opt/module/zookeeper-3.4.10/bin/zkServer.sh stop"
done
};;
esac
方法二
配置’~/.bashrc’(當(dāng)每次執(zhí)行腳本時都會加載此文件)
./bashrc為隱藏文件
在家目錄下直接打開

此時,我們需要哪些環(huán)境變量就可以直接添加到此文件后面就可以了

然后分發(fā)其他節(jié)點,最后別忘了source ./bashrc
方法三
此方法和方法二類似,我們依舊打開./bashrc文件
由于我們已經(jīng)將相關(guān)環(huán)境變量配置到了‘/etc/profile’文件中,
所以此時將‘/etc/profile’加入到./bashrc文件中就可以了

分發(fā)其他節(jié)點,分別source /home/用戶名/.bashrc
此時腳本環(huán)境變量就解決好了
總結(jié)
以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關(guān)文章
一天一個shell命令 linux文本系列-file命令用法
這篇文章主要介紹了一天一個shell命令 linux文本系列-file命令用法,需要的朋友可以參考下2016-06-06
Linux使用curl訪問網(wǎng)頁和wget下載文件
這篇文章介紹了Linux使用curl命令訪問網(wǎng)頁和wget下載文件的方法,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2022-06-06
Shell腳本獲取國內(nèi)各大運營商網(wǎng)段腳本分享
這篇文章主要介紹了Shell腳本獲取國內(nèi)各大運營商網(wǎng)段腳本分享,本文使用亞太地區(qū)網(wǎng)絡(luò)信息記錄作為數(shù)據(jù)源,然后使用Shell腳本分析國內(nèi)的網(wǎng)段,需要的朋友可以參考下2014-12-12
Shell腳本實現(xiàn)批量下載網(wǎng)絡(luò)圖片代碼分享
這篇文章主要介紹了Shell腳本實現(xiàn)批量下載網(wǎng)絡(luò)圖片代碼分享,本文基于下載Yahoo天氣圖標而寫,圖片地址需有一定的規(guī)則,需要的朋友可以參考下2014-09-09
Linux在shell中自動生成1到100的數(shù)組方法(兩種方法)
之前自己在寫shell腳本的時候,需要自動創(chuàng)建1-100的文本確不知道該如何去創(chuàng)建。今天小編給大家分享兩種方法,需要的朋友參考下2017-02-02

