1.shell之搭建Shell编程环境

时间:2023-03-09 00:59:42
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. root root Apr /bin/sh -> bash
  • 3. 查看shell版本

输入指令

[root@RHEL tmp]# echo $BASH_VERSION

执行结果

[root@RHEL tmp]# echo $BASH_VERSION
4.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..tar.gz

4.3. 配置编译环境

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

4.4. 测试编译,判断是否成功

oot@RHEL bash-4.3.]# make 

4.5. 编译bash

oot@RHEL bash-4.3.]# make install

在默认情况下,bash将被安装到/usr/local/bin/ 下面

4.6. 查看是否安装成功,首先切换到新版本的bash的安装目录

[root@RHEL bash-4.3.]# cd /usr/local/bin/
[root@RHEL bin]# ll
total
-rwxr-xr-x root root Dec : bash
-r-xr-xr-x root root Dec : bashbug
4.7. 切换到新版本的bash,查看当前版本
[root@RHEL bin]# ./bash
[root@RHEL bin]# echo $BASH_VERSION
4.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