Shell編程之環境變數設定檔,

來源:互聯網
上載者:User

Shell編程之環境變數設定檔,

一、簡介
1.變數類型:
使用者自訂變數(本地變數)
環境變數:定義每個使用者的作業環境,已學的有path,ps1;要想永久生效,要寫入相對應的位置
預定義變數
位置參數變數
2.source命令
[root@localhost ~]# source 設定檔 或者
[root@localhost ~]# . 設定檔(點.後面有空格)
[root@localhost ~]# ./目前的目錄(這裡沒有空格)
修改設定檔後,必須登出重新登入才會生效,否則只能等下次重新登入
但是使用source命令可以不用重新登入
[root@localhost ~]# . .bashrc
.bashrc是隱藏檔案
相當於:
[root@localhost ~]# source .bashrc
3.環境變數設定檔簡介
PATH、HISTSIZE、PS1、HOSTNAME等環境變數寫入對應的環境設定檔
環境變數設定檔中主要是定義對系統作業系統生效的系統預設環境變數,如PATH等
下面是一些一啟動就生效的環境變數:
/etc/profile
/etc/profile.d/*.sh
/etc/bashc
~/.bash_profile
~/.bashrc

放在家home目錄下只有目前使用者生效,放在/etc下的每個登入使用者都會起作用

還有一些在退出時生效的環境變數檔案夾

二、環境變數設定檔的功能
1.環境變數存放位置生效順序:
環境變數存放位置生效順序
上面是完整登陸過程生效順序,但是我們有的時候會使用sudo來調整登入使用者,這屬於不完整登陸,完整登陸是使用者登入或登出的過程,而不是切換使用者過程
切換使用者是從/etc/bashrc開始的,完整登陸是從/etc/profile開始的。
2.詳解環境變數檔案位置:
(1)./etc/profile的作用:
USER變數:
LOGNAME變數:
MAIL變數:
PATH變數:
HOSTNAME變數:
HISTSIZE變數:
umask:
調用/etc/profile.d/*.sh
[root@localhost ~]# vim /etc/profile

(2).umask
umask

查看系統預設屬性

注意:
1)檔案最高許可權為666
2)目錄最高許可權為777
3)許可權不能夠使用數字進行換算,而必須使用字母
[root@localhost ~]# touch abc
[root@localhost ~]# umask
0022
[root@localhost ~]# ll
總用量 56
-rw-r—r—. 1 root root 4906 1月 15 01:12 abc
[root@localhost ~]#
rw-rw-rw- —-w–w- (去掉重複的許可權)=rw-r—r– 計算結果和預計一致,但是檔案是一開始沒有執行許可權的,而目錄有
4)umask定義的許可權,是系統預設許可權中準備丟棄的許可權
(3).~/.bash_profile的作用
調用了~/.bashrc檔案
在PATH變數後面加入了“:$HOME/bin”這個目錄
註:後續檔案注意不要覆蓋了
(4). /etc/bashrc的作用
PS1變數
umask
PATH變數
調用/etc/profile.d/*.sh檔案

三、其它環境變數設定檔
(1).登出時生效的環境變數設定檔
~/.bash_logout
補充:如果在命令中輸入明文的使用者名稱和密碼,建議清除曆史命令,這條命令可以放~/.bash_logout,但正常情況下不用不用每次都清除
(2). ~/.bash_history
[root@localhost ~]# ls –a

123 .bash_history#存放位置,硬碟

注意當前登陸的命令在記憶體位置,只有當退出時執行命令才會儲存到指定位置,這也是用命令history和vim .bash_history查看命令曆史存放檔案,發現命令條數不一致

(3).Shell登入資訊
1)本地終端歡迎資訊:/etc/issue
所支援的轉義符
本地終端歡迎資訊
[root@localhost ~]# vim /etc/issue
CentOS release 6.3 (Final)
Kernel \r on an \m
建議把\l加入到登陸介面,可以用Alt + F2切換本地終端,本地終端一般有6個,用Alt+F1切回
2)遠程終端歡迎資訊:/etc/issue.net
轉義符在/etc/issue.net檔案中不能使用
是否顯示歡迎資訊,由ssh的設定檔/etc/ssh/sshd_config決定,加入“Banner/etc/issue.net”行才能顯示(記得重啟SSH服務)
[root@localhost ~]# vim /etc/issue.net
[root@localhost ~]# vim /etc/ssh/sshd_config
找到#Banner None,取消注釋,然後改成“Banner /etc/issue.net”
重啟ssh服務:[root@localhost ~]# service sshd restart
停止 sshd: [確定]
正在啟動 sshd: [確定]
[root@localhost ~]#
3)登入後歡迎資訊:/etc/motd
不管是本地登陸還是遠程登入,都可以顯示此歡迎資訊,是在登陸後顯示

著作權聲明:本文為博主原創文章,未經博主允許不得轉載。

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.