1.shell之搭建Shell編程環境


     第一次寫博客,加點廢話,學習linux有一段時間,隨着學習的深入發現自己學的不夠系統,特別是遇到一些莫名的問題時,我只有各種百度,運氣好時能解決掉,差時到現在還沒解決,就算解決了還是不清楚是怎么解決的,為此打算從最接地氣的shell學起,就在圖書館借了本《Shell從入門到精通》,然后就開始研究了起來,但是學着學着又忘記了一些,然后又的查書,書本有時不太方便,所以就有了這篇博客(自嘲下,或許有一天我的博客可以出本成書);此文可以隨便轉載但必須加入連接出處

 

 

  • 1. 查看系統默認shell

輸入指令:

[root@RHEL tmp]# echo $SHELL

執行結果:

[root@RHEL tmp]# echo $SHELL
/bin/bash
  • 2. 部分linux版本中的 sh 本質是 bash

輸入指令:

[root@RHEL tmp]# ll /bin/sh

執行結果:

[root@RHEL tmp]# ll /bin/sh 
lrwxrwxrwx. 1 root root 4 Apr 27  2015 /bin/sh -> bash
  • 3. 查看shell版本

輸入指令

[root@RHEL tmp]# echo $BASH_VERSION

執行結果

[root@RHEL tmp]# echo $BASH_VERSION
4.1.2(1)-release
  • 4. 安裝最新版本bash

4.1. 下載bash源代碼

[root@RHEL tmp]# wget http://ftp.gnu.org/gnu/bash/bash-4.3.30.tar.gz

4.2. 解壓源代碼

[root@RHEL tmp]# tar xvzf bash-4.3.30.tar.gz

4.3. 配置編譯環境

[root@RHEL tmp]# cd bash-4.3.30
[root@RHEL bash-4.3.30]# ./configure

4.4. 測試編譯,判斷是否成功

oot@RHEL bash-4.3.30]# make 

4.5. 編譯bash

oot@RHEL bash-4.3.30]# make install

在默認情況下,bash將被安裝到/usr/local/bin/ 下面

4.6. 查看是否安裝成功,首先切換到新版本的bash的安裝目錄

[root@RHEL bash-4.3.30]# cd /usr/local/bin/
[root@RHEL bin]# ll
total 39148
-rwxr-xr-x  1 root root  2529633 Dec 12 15:57 bash
-r-xr-xr-x  1 root root     6806 Dec 12 15:57 bashbug
4.7. 切換到新版本的bash,查看當前版本
[root@RHEL bin]# ./bash
[root@RHEL bin]# echo $BASH_VERSION 
4.3.30(3)-release

4.8. 使用新版本shell

從上面的命令得知,當前的bash的版本為4.3.30.這表示新版本的bash已經編譯安裝成功。但是目前用戶還不能使用這個新的shell。因為出於安全考慮,用戶只能使用/etc/shells文件列出的shell,下面命令顯示該文件的內容:

[root@RHEL bin]# more /etc/shells 
/bin/sh
/bin/bash
/sbin/nologin
/bin/tcsh
/bin/csh

從上面輸出結果可知,用戶可以使用5個shell,而前面2個實質都是bash。

為了使用新版本shell,我們需要添加路徑配置,配置方法有多鍾,此處提供一種用vim修改/etc/shells,修改信息如下:

/bin/sh
/bin/bash
/sbin/nologin
/bin/tcsh
/bin/csh
/usr/local/bin/bash


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM