/bin/bash 和 /bin/ksh使用的使用者配置檔案的比較
1、/bin/bash
當使用者使用/bin/bash這個shell時,使用者個人配置檔案的使用順序為~/.bash_profile --> ~/.bash_login --> ~/.profile
通過下面的實踐進行驗證。
首先建立一個使用/bin/bash的使用者: mth
可以看到,預設建立的只有.bash_profile這個配置檔案。我手動建立.bash_login和.profile這兩個檔案,並且修改三個檔案的內容。
現在通過從root賬號切換到mth賬號,看顯示的資訊的方法,確定賬號使用配置檔案的順序。
通過上面的顯示資訊,驗證了上面所寫的讀取順序。
2、/bin/ksh
首先建立一個使用/bin/ksh的使用者: zyx
可以看到預設建立的也是.bash_profile這個配置檔案,下面我先修改.bash_profile檔案的內容。同樣也是加上上面用過的顯示資訊。
可以看到,沒有任何顯示資訊。所以可以判斷,/bin/ksh並不使用 ~/.bash_profile作為賬號的個人配置檔案。
下面驗證~/.bash_login檔案。
同樣沒有任何顯示資訊,所以判斷,/bin/ksh也不使用 ~/.bash_login作為賬號的個人配置檔案。
最後驗證~/.profile檔案。
根據顯示資訊,我推斷,/bin/ksh只使用 ~/.profile作為賬號的個人配置檔案。
總結如下:
當使用者使用/bin/bash這個shell時,使用者個人配置檔案的使用順序為~/.bash_profile --> ~/.bash_login --> ~/.profile
通過下面的實踐進行驗證。
首先建立一個使用/bin/bash的使用者: mth
- [root@TaylonMeng ~]# useradd -s /bin/bash mth
-
[root@TaylonMeng ~]# su - mth
[mth@TaylonMeng ~]$ ls -al
total 32
drwx------ 4 mth mth 4096 May 1 00:09 .
drwxr-xr-x. 5 root root 4096 May 1 00:09 ..
-rw-r--r-- 1 mth mth 18 Sep 26 2014 .bash_logout
-rw-r--r-- 1 mth mth 176 Sep 26 2014 .bash_profile
-rw-r--r-- 1 mth mth 124 Sep 26 2014 .bashrc
drwxr-xr-x 2 mth mth 4096 Jul 14 2010 .gnome2
-rw-r--r-- 1 mth mth 171 Sep 2 2014 .kshrc
drwxr-xr-x 4 mth mth 4096 Mar 5 21:31 .mozilla
-
[mth@TaylonMeng ~]$ ls -al
-
total 48
-
drwx------ 4 mth mth 4096 May 1 00:13 .
-
drwxr-xr-x. 5 root root 4096 May 1 00:09 ..
-
-rw------- 1 mth mth 75 May 1 00:13 .bash_history
-
-rw-rw-r-- 1 mth mth 283 May 1 00:11 .bash_login
-
-rw-r--r-- 1 mth mth 18 Sep 26 2014 .bash_logout
-
-rw-r--r-- 1 mth mth 295 May 1 00:13 .bash_profile
-
-rw-r--r-- 1 mth mth 124 Sep 26 2014 .bashrc
-
drwxr-xr-x 2 mth mth 4096 Jul 14 2010 .gnome2
-
-rw-r--r-- 1 mth mth 171 Sep 2 2014 .kshrc
-
drwxr-xr-x 4 mth mth 4096 Mar 5 21:31 .mozilla
-
-rw-rw-r-- 1 mth mth 249 May 1 00:13 .profile
- -rw------- 1 mth mth 1324 May 1 00:13 .viminfo
-
[mth@TaylonMeng ~]$ more .bash_profile
-
# .bash_profile
-
-
# Get the aliases and functions
-
if [ -f ~/.bashrc ]; then
-
. ~/.bashrc
-
fi
-
-
# User specific environment and startup programs
-
-
PATH=$PATH:$HOME/bin
-
-
export PATH
-
-
echo "**************************"
-
echo ""
-
echo "This is '~/.bash_profile' "
-
echo ""
-
echo "**************************"
-
[mth@TaylonMeng ~]$ more .bash_login
-
# Get the aliases and functions
-
if [ -f ~/.bashrc ]; then
-
. ~/.bashrc
-
fi
-
-
# User specific environment and startup programs
-
-
PATH=$PATH:$HOME/bin
-
-
export PATH
-
-
echo "**************************"
-
echo ""
-
echo "This is '~/.bash_login' "
-
echo ""
-
echo "**************************"
-
[mth@TaylonMeng ~]$ more .profile
-
if [ -f ~/.bashrc ]; then
-
. ~/.bashrc
-
fi
-
-
# User specific environment and startup programs
-
-
PATH=$PATH:$HOME/bin
-
-
export PATH
-
-
echo "**************************"
-
echo ""
-
echo "This is '~/.profile' "
-
echo ""
- echo "**************************"
-
[mth@TaylonMeng ~]$ exit
-
logout
-
[root@TaylonMeng ~]# su - mth
-
**************************
-
-
This is '~/.bash_profile'
-
-
**************************
-
[mth@TaylonMeng ~]$ mv .bash_profile .bash_profile.bk
-
[mth@TaylonMeng ~]$ exit
-
logout
-
[root@TaylonMeng ~]# su - mth
-
**************************
-
-
This is '~/.bash_login'
-
-
**************************
-
[mth@TaylonMeng ~]$ mv .bash_login .bash_login.bk
-
[mth@TaylonMeng ~]$ exit
-
logout
-
[root@TaylonMeng ~]# su - mth
-
**************************
-
-
This is '~/.profile'
-
- **************************
2、/bin/ksh
首先建立一個使用/bin/ksh的使用者: zyx
- [root@TaylonMeng ~]# useradd -s /bin/ksh zyx
-
[root@TaylonMeng ~]# su - zyx
$ ls -al
total 36
drwx------ 4 zyx zyx 4096 May 1 00:31 .
drwxr-xr-x. 6 root root 4096 May 1 00:31 ..
-rw-r--r-- 1 zyx zyx 18 Sep 26 2014 .bash_logout
-rw-r--r-- 1 zyx zyx 176 Sep 26 2014 .bash_profile
-rw-r--r-- 1 zyx zyx 124 Sep 26 2014 .bashrc
drwxr-xr-x 2 zyx zyx 4096 Jul 14 2010 .gnome2
-rw-r--r-- 1 zyx zyx 171 Sep 2 2014 .kshrc
drwxr-xr-x 4 zyx zyx 4096 Mar 5 21:31 .mozilla
-rw------- 1 zyx zyx 16 May 1 00:33 .sh_history
-
$ vi .bash_profile
-
# .bash_profile
-
-
# Get the aliases and functions
-
if [ -f ~/.bashrc ]; then
-
. ~/.bashrc
-
fi
-
-
# User specific environment and startup programs
-
-
PATH=$PATH:$HOME/bin
-
-
export PATH
-
-
echo "**************************"
-
echo ""
-
echo "This is '~/.bash_profile' "
-
echo ""
- echo "**************************"
-
$ exit
[root@TaylonMeng ~]# su - zyx
$
下面驗證~/.bash_login檔案。
-
$ vi .bash_login
-
# Get the aliases and functions
-
if [ -f ~/.bashrc ]; then
-
. ~/.bashrc
-
fi
-
-
# User specific environment and startup programs
-
-
PATH=$PATH:$HOME/bin
-
-
export PATH
-
-
echo "**************************"
-
echo ""
-
echo "This is '~/.bash_login' "
-
echo ""
- echo "**************************"
-
$ exit
[root@TaylonMeng ~]# su - zyx
$
最後驗證~/.profile檔案。
-
$ vi .profile
- # User specific environment and startup programs
-
-
PATH=$PATH:$HOME/bin
-
-
export PATH
-
-
echo "**************************"
-
echo ""
-
echo "This is '~/.profile' "
-
echo ""
- echo "**************************"
-
$ exit
[root@TaylonMeng ~]# su - zyx
**************************
This is '~/.profile'
**************************
$
總結如下:
- 當使用者使用/bin/bash這個shell時,使用者個人配置檔案的使用順序為~/.bash_profile --> ~/.bash_login --> ~/.profile;
- 當使用者使用/bin/ksh這個shell時,只會使用~/.profile作為使用者個人配置檔案。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/30776559/viewspace-2091391/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- shell指令碼頭,#!/bin/sh與#!/bin/bash的區別.指令碼
- bin是什麼檔案格式 bin檔案要怎麼開啟
- 指令碼前面的/bin/bash指令碼
- /bin、/sbin、/usr/bin、/usr/sbin、/usr/local/sbin放置可執行檔案的區別
- -bash: ./switch.sh: /bin/bash^M: bad interpreter: No such file or directory
- 解決“/bin/bash^M: bad interpreter: No such file or directory”
- -bash: /usr/local/bin/pod: /System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/bin/ruby: b...Framework
- /usr/bin/expect的簡單使用
- win10 .bin檔案怎麼安裝_win10系統.bin檔案安裝操作方法Win10
- Win10系統CUE和BIN檔案如何開啟Win10
- /usr/bin/python與/usr/bin/env python的區別Python
- 錯誤:-bash: ./how_paras.sh: /bin/bash^M: bad interpreter: No such file or directory
- frepplectl解決報錯:bash: /usr/bin/frepplectl: Permission denied
- 傑裡之Bin 檔案燒錄過程【篇】
- 執行shell指令碼報錯:-bash: ./test1.sh: /bin/bash^M: ...指令碼
- 工作筆記:/bin/bash^M: 壞的直譯器: 沒有那個檔案或目錄 問題解決筆記
- python中#!/usr/bin/python與#!/usr/bin/env python的區別Python
- jmeter 引數化 csv外掛的讀取檔案 bin目錄JMeter
- MySQL error log和bin logMySqlError
- Linux中Bin檔案壓縮包解壓執行Linux
- 雲伺服器mysql定期清理bin-log檔案伺服器MySql
- 使用HiBurn燒錄鴻蒙.bin檔案到Hi3861開發板鴻蒙
- linux輸入yum後提示: -bash: /usr/bin/yum: No such file or directory的解決方案Linux
- 檔案和影像比較工具Kaleidoscope
- Mac 終端配置Tomcat提示bash: tomcat8.0.39/bin/startup.sh: 許可權不夠MacTomcat
- Could not find or access '/etc/ansible/bin/cfssljson /etc/ansible/bin/cfsslJSON
- 啟動 Laravel-Sail 服務時遇到的 /usr/bin/env: 'bash\r' 錯誤LaravelAI
- MySQL的Redo log 以及Bin logMySql
- 【轉】對#!bin/sh的認識
- Mac檔案和影像比較工具:KaleidoscopeMac
- Kaleidoscope for Mac(檔案和影像比較工具)Mac
- 檔案和影像比較工具:Kaleidoscope MacMac
- 使用PowerShell比較本地文字檔案與Web上的文字檔案是否相同Web
- 實用的檔案和影像比較工具:kaleidoscope mac版Mac
- 7.30 BIN_TO_NUM
- Mac檔案和影像比較工具——Kaleidoscope for MacMac
- 檔案內容比較
- 如何使用 Python 或 Bash動態生成 Jekyll 配置檔案Python
- EXCEL,POI,EASYEXCEL的使用和比較Excel