bash基礎之三配置文件

1、shell的兩種登陸方式:

一、交互式登陸:
(1)直接經過終端輸入帳號密碼登陸
(2)使用「su - UserName」 或「su -l Username」切換的用戶
執行順序:/etc/profile --> /etc/profile.d/*.sh (全部文件)--> ~/.bash_profile(用戶家目錄下的) --> ~/.bashrc --> /etc/bashrcshell

二、非交互式登陸:
(1)su UserName
(2)圖形界面下打開的終端
(3)執行腳本
(4)任何其它的bash實例
執行順序: ~/.bashrc(用戶家目錄下的)  --> /etc/bashrc --> /etc/profile.d/*.shapache

2、bash的配置文件

一、按生效範圍劃分,有兩類:vim

  • 全局配置:
    • /etc/profile
    •   /etc/profile.d/*.sh (注:有可能會沒有權限讀取,執行不了)
    • /etc/bashrc
  • 我的配置:
    • ~/.bash_profile
    • ~/.bashrc

二、按功能劃分,存在兩類:bash

  • profile類:爲交互式登陸的shell提供配置
    • 全局:/etc/profile, /etc/profile.d/*.sh
    • 我的:~/.bash_profile
      功用:用於定義環境變量;用於運行命令或腳本

(1) 用於定義環境變量函數

(2) 運行命令或腳本字體

  • bashrc類:爲非交互式和交互式登陸的shell提供配置
    • 全局:/etc/bashrc
    • 我的:~/.bashrc
      功用:用於定義命令別名;定義本地變量

(1) 定義命令別名和函數spa

(2) 定義本地變量code

3.修改profile和bashrc文件後需生效
兩種方法:
1從新啓動shell進程
2 . 或source(注:反作用,任何一個變量被從新賦值就表示讀取現有的值再加上新有的值)
例:
. ~/.bashrccdn

注意:(1) . 或source 是在當前shell中生效;bash file 是開一個子進程去生效。
(2) 腳本中不支持別名blog

3、bash退出任務

退出時運行的腳本
保存在~/.bash_logout文件中(用戶)
在退出登陸shell時運行,經常使用於:

  • 建立自動備份
  • 清除臨時文件

4、練習

一、讓全部用戶的PATH環境變量的值多出一個路徑,例如:/usr/local/apache/bin
在 /etc/profile.d/env. sh 文件,從新添加PATH變量。

PS1="\[\e[1;36m\][\u@\h \W]\\$\[\e[0m\]"
PATH=/usr/local/apache/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin

echo $PATH
/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin

 

二、用戶root登陸時,將命令指示符變成紅色,並自動啓用以下別名:

rm=‘rm –i’
cdnet=‘cd /etc/sysconfig/network-scripts/’
editnet=‘vim /etc/sysconfig/network-scripts/ifcfg-eth0’
editnet=‘vim /etc/sysconfig/network-scripts/ifcfg-eno16777736 或 ifcfg-ens33 ’ (若是系統是CentOS7)

 


命令符紅色:

在/etc/profile.d/env.sh中定義
PS1="\[\e[1;31m22\][\u@\h \W]\\$\[\e[0m\]"

 

定義別名:

在 ~/.bashrc中將放入如下命令:
alias rm=‘rm –i’
alias cdnet=‘cd /etc/sysconfig/network-scripts/’
alias editnet=‘vim /etc/sysconfig/network-scripts/ifcfg-eth0’
alias editnet=‘vim  /etc/sysconfig/network-scripts/ifcfg-eno16777736 或  ifcfg-ens33 ’ 

 

三、任意用戶登陸系統時,顯示紅色字體的警示提醒信息「Hi,dangerous !」
在/etc/profile.d/env.sh 中添加

echo -e "\e[1;31mHi,dangerous ! \e[0m"
相關文章
相關標籤/搜索