第一次写博客,加点废话,学习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

1.shell之搭建Shell编程环境的更多相关文章

  1. 用10分钟,搭建图像处理编程环境,0失败!(python语言,windows系统)

    以前,你可能看过很多的文章,开始搭建一个图像处理的编程环境. 结果,按照教程一步一步做的时候,总是出现各种各样的问题. 就算成功了,后续开发过程中要用到不同版本的opencv,不同版本python,更 ...

  2. 基于jupyter lab搭建网页编程环境并添加自定义python kernel和matlab kernel以及plotly的使用

    内容转载自我的博客 目录 说明 1. 创建虚拟环境jupyter 2. 安装nodejs(用于jupyterlab安装扩展) 3. 安装pip包 4. 使用jupyterlab 5. 配置jupyte ...

  3. ubuntu下搭建cocos2dx编程环境-下

         前两篇介绍了cocos2d-x 下linux开发环境配置和android 环境配置问题.在这其中遇到很多问题,所以最后一篇分享一下在处理这些问题时,我是如何解决的,是怎么想的.同时总结一些解 ...

  4. ubuntu下搭建cocos2dx编程环境-中

        上篇文章里讲了在ubuntu下部署cocos2d-x开发环境,这篇文章主要示范在ubuntu下部署cocos2d-x android开发环境.分开写就是因为我看很多文章里都将这两件事情混杂着写 ...

  5. ubuntu下搭建cocos2dx编程环境-上

        这大半年一直在开发flash游戏,用到的编程语言是actionscript和c++.所以这次公司决定开发手游端的话,C++不是很生疏,这是个好消息.坏消息是由于现在网页游戏还没有上线,所以公司 ...

  6. 在windows下搭建汇编编程环境

    汇编语言程序搭建masm+debug 下载链接 dosbox:链接:https://pan.baidu.com/s/1TgkfU-d5w6Nz9TOYro1pYw 密码:mp83 masm:链接:ht ...

  7. MPI2 编程环境搭建 MPI4PY 编程环境搭建

    最近发现了一门新语言 Julia   ,  这门编程语言据说大有取代 Python语言成为数据科学的大佬,但是细看发现最主要说的是这门编程语言运行速度比较快,并且在分布式和并行计算上比较有优势,这时候 ...

  8. mac 下搭建php 编程环境全过程

    1,打开终端, 设置root密码sudo passwd root输入密码 2, 安装 apachemac 自带apache 启动apachectl start重新启动apachectl restart ...

  9. ubuntu下搭建gtk+编程环境

    首先gtk+项目主页为: http://www.gtk.org/ gtk+现在有2和3两种版本,使用 sudo apt-get install gnome-core-devel 可以一次性安装2个版本 ...

随机推荐

  1. hadoop中的分布式缓存——DistributedCache

    分布式缓存一个最重要的应用就是在进行join操作的时候,如果一个表很大,另一个表很小很小,我们就可以将这个小表进行广播处理,即每个计算节点 上都存一份,然后进行map端的连接操作,经过我的实验验证,这 ...

  2. Android Root原理

    概述:通过阅读本文可以深刻理解Android系统中获得Root权限的方法和原理.本文会详细介绍Root的目的,原理和代码层次的具体实现方法. Android Root介绍: 1. Root目的 手机获 ...

  3. bzoj1040

    论环形dp的重要! 其实这个环比较简单,稍微分析一下就知道, 这是一个简单环,并且每个联通块里只含有一个. 我觉得把处理环的关键,就是要找出环形和线形(树形)有什么区别. 如果我们从某处断开的做dp的 ...

  4. 使用 ASR 和 Azure Pack 为 IaaS 工作负荷提供托受管 DR

    Ashish Gangwar 云 + Enterprise项目经理 几周前,我们宣布了在 Azure Site Recovery 中提供一些新功能,这些新功能适用于不同场景,可以让服务提供商在 A ...

  5. 【转】foxmail突然打不开了,双击没反应,怎么回事呀

    原文网址:http://tieba.baidu.com/p/3492526384 解决方法如下:1.进入foxmail安装目录(默认在D盘Program Files下层,右击foxmail这个文件夹, ...

  6. 一步步写STM32 OS【一】 序言

    一直想写个类似uCOS的OS,近段时间考研复习之余忙里偷闲,总算有点成果了.言归正传,我觉得OS最难的部分首先便是上下文切换的问题,他和MCU的架构有关,所以对于不同的MCU,这部分需要移植.一旦这个 ...

  7. vijos P1459 车展(Treap,中位数)

    P1459车展   描述 遥控车是在是太漂亮了,韵韵的好朋友都想来参观,所以游乐园决定举办m次车展.车库里共有n辆车,从左到右依次编号为1,2,…,n,每辆车都有一个展台.刚开始每个展台都有一个唯一的 ...

  8. sap判断条件

    EQ  等于=  等于NE  不 等于<>  不 等于><  不 等于LT  小 于<  小于LE  小 于等于<=  小 于等于GT  大 于>  大于GE ...

  9. Mac IDEA快捷键积累

    切来切去:Ctrl+Tab 在打开的不同类中切换来切换去 完美代码结构:Alt+Command+L 不同编辑点跳转:Alt+Command+↔️ 快速重写:Ctrl+N 快速选择代码:Alt+Shif ...

  10. 各大算法专题-STL篇

    这篇文章着重记录c++中STL的用法.主要粗略的介绍其用法,以知识点的形式呈现其功能,不会深入源码分析其工作原理. 排序和检索. sort(a,a+n),对a[0]往后的n个元素(包括a[0])进行排 ...