02 Shell编程环境的搭建


2.1  在不同的操作系统上搭建Shell编程环境
尽管Shell程序一般都是在UNIX或者Linux等操作系统上面运行的,但是,作为开发着来说,他所使用的操作系统却不一定是UNIX或者Linux,完全有可能是Windows等其他的操作系统。本节将介绍在不同的操作系统上面,如何搭建Shell编程环境。
2.1.1  在Windows上搭建Shell编程环境
如果想要在Windows上面进行Shell编程,则必须安装一个UNIX模拟器。通过UNIX模拟器,在Windows上面模拟出一个类似于UNIX或者Linux的Shell环境。
Cygwin是一个非常优秀的UNIX模拟器,最初由Cygnus Solutions公司开发,目前由Red Hat公司维护。Cygwin是许多自由软件的集合,用于在各种版本的Microsoft Windows上,创建出一个UNIX或者Linux的运行环境。对于学习Shell程序设计的人来说,Cygwin无疑是一个非常强大的工具。
用户可以从以下网站下载Cygwin,目前最新版本是1.7.17-1:
http://www.cygwin.com/
2.1.2  在Linux上搭建Shell编程环境
由于Linux本身都会默认安装Shell的脚本的运行环境,所以通常情况下,并不需要用户额外的安装什么软件。但是,前面已经介绍过,在同一台Linux上面会同时安装多个Shell,并且,这些Shell的语法会有所不同,所以,用户在编写和执行Shell脚本的时候一定要弄清楚当前使用的是哪种Shell。用户可以使用系统变量$SHELL来获取当前系统默认的Shell,如下:
[root@linux ~]# echo $SHELL
/bin/bash
2.1.3  在FreeBSD上搭建Shell编程环境
FreeBSD是UNIX两大流派中BSD流派的比较典型的一个代表,也是目前应用比较广泛的一个UNIX系统。默认情况下,FreeBSD使用的Shell为csh,这一点,可以通过系统变量$SHELL来获得.

2.2  编辑器的选择
好的编辑器会拥有许多辅助功能,例如语法的提示和自动完成等,从而可以提高开发的效率。尽管与其他的程序设计语言相比,Shell并没有专门的编辑器,但是仍然存在一些相对较好的辅助工具。本节将介绍Shell编程中经常使用的一些编辑器。
在windows系统可以使用notepad++等
vi编辑器是Linux上面最常用的编辑器,很多Linux发行版都默认安装了vi。其中,vi这个名称是visual interface的缩写。vi拥有非常多的命令,但是正因为有非常多的命令,才使得vi的功能非常灵活和强大。vim是vi编辑器的增加版。
通常认为,vi有3种使用模式,分别为一般模式、编辑模式和命令模式。在每种模式下面,用户都可以分别执行不同的操作。
当用户执行了插入(如按下i)或者追加(如按下a)等操作之后,都会使得vi从一般模式切换到编辑模式。vi的编辑模式与其他编辑器的编辑模式没有什么太多的区别。在编辑模式下,用户可以使用上、下、左和右4个方向键移动光标,使用backspace键和del来删除光标前面的字符,还可以在光标所在的位置插入字符。

2.3  系统环境的搭建
在运行Shell程序的时候,除了脚本本身之外,还有许多因素会影响到Shell的执行结果。这里面主要有Shell本身的环境以及命令的别名等.

2.3.1  Shell配置文件
Bourne Shell (sh)的配置文件主要有2个,分别为每个用户主目录中的.profile文件以及/etc/profile文件。在前面的2个文件中,后者是所有的用户共同使用的文件。每个用户在登录Shell之后,会首先读取和执行/etc/profile文件中的脚本,然后再读取和执行各自主目录中的.profile文件。因此,用户可以将所有用户都需要执行的脚本放在/etc/profile文件中。
Bourne-Again Shell(bash)的配置文件主要有5个,其中有4个位于用户主目录中,分别为.bash_profile、.bashrc、.bash_logout和.bash_history,有1个位于/etc/目录中,名称为bashrc。
.bash_profile位于每个用户的主目录中,在该文件中用来保存每个用户自己使用的Shell信息。当用户登录时,该文件将被读取并执行,并且该文件仅被执行一次。默认情况下,.bash_profile文件常常用来设置环境变量,执行用户的.bashrc文件。
.bashrc文件包含专属于某个用户的bash的相关信息,当用户登录以及每次打开新的bash时,该文件将被读取并执行。
.bash_logout文件在当前用户每次退出Shell时执行。如果没有特别的要求,该文件的内容通常为空。
etc/bashrc与sh中的/etc/profile文件非常相似,它是所有的使用bash的用户的共同使用的文件。当任何用户在登录bash后,都会执行该文件中的代码。

2.3.2  命令别名
命令别名是命令的另外一个名称。在Linux中,设置命令别名的作用主要是为了简化命令的输入。对于一个包含许多选项和参数的命令,用户可以为其设置一个别名,这样的话,在调用该命令的时候只要使用别名就可以了。命令别名需要使用alias命令完成,其语法如下:
alias command_alias=command
其中,参数command_alias表示命令的别名,command表示某个Shell命令。当设置了命令别名之后,用户就可以与使用普通的命令一样,使用别名。

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值