跟散仙学shell编程(十三)

上篇散仙主要了讲述了gawk进阶的一些用法,本篇我们来了解下载linux中,其他的shell类型,通常情况下,我们最常用的就是bash shell,除此之外,我们还可能遇到另外2个shell类型,dash shell和zsh shell,我们并不需要深入探究,只需要简单了解即可。


dash shell是ash shell的后代因其,并没有多少高级功能,所以并不能作为交互式的shell,而我们一直长常用的熟悉的bash shell,已经默认成为了标准的shell类型。


dash的命令行参数:
-a 导出分配给shell的所有变量
-c 从特定命令字符串读取命令
-e 非交互式情况下,运行失败,则直接退出
-f 显示路径名通配符
-n 非交互式命令下,读取命令但不执行
-u 将错误消息写到STDERR
-v 将输入写到STDERR
-x 在执行命令时将每个命令写出到STDERR
-I 忽略EOF字符,交互式模式下
-i 强制shell运行在交互式模式下
-m 打开作业控制
-s 从STDIN读取命令
-E 打开emacs命令行编辑器
-V 打开vi命令行编辑器

下面看dash的环境变量


CDPATH cd命令的搜索路径
HISTSIZE 历史记录文件中保存的天数
HOME 用户登录的默认天数
IFS 输入字段分隔符,默认值是空格,制表符,换行符
MAIL 用户收件箱的名称
MAILCHECK 在收件箱中检查新邮件的频率
MAILPATH 冒号分隔多个收件箱的名称
OLDPWD 上一个工作目录的值
PATH 当前可执行的文件的默认查找路径
PPID 当前进程的父进程ID
PSI shell的主命令行交互提示符
PS2 shell的次命令交互提示符
PS4 当使了执行追踪时,在每行前面打印的一个字符
PWD 当前工作目录的值
TERM shell的默认终端设置


下面看一些位置参数的符号表示:

$0 shell的名称
$n 第n个位置参数
$* 含有参数内容的单个值
$@ 将所有的命令行参数展开为多个参数
$# 位置参数的总数
$? 最近一个命令的退出状态码
$- 当前选项的标记
$$ 当前shell的进程ID
$! 最近一个后台命令的进程ID


下面看在另外一种shell类型,zsh shell,zsh shell由Paul Falstad开发的一个开源的Uninx shell,它集成了所有现在
现有shell的许多独到的功能,为程序员创建了一个全功能的高级shell,一些功能如下:
(1)改进的shell选项处理
(2)shell兼容性模式
(3)可加载模块
在上面的几个功能里面,可加载模块是设计最先进的功能


zsh shell通常会用在编程环境中,因为它为shell脚本程序员提供了许多好用的功能,它使用可加载的模块来加载单独的代码库
这让使用高级函数跟使用命令行命令一样简单,可加载模块支持很多功能从复杂数学算法到如FTP和HTTP的网络应用、

dash shell作为Debian Linux发行版的一部分发的,主要出现在Ubuntu Linux发行版中,它是Bourne shell的精简版,所以它并不像bash shell一样支持
那么多功能,这可能会给脚本编程带来一些问题


无论使用哪种shell,我们只需要深入了解其中一种即可,其他的都类似,如果可能,了解一下其他shell的功能和用处,对我们的学习也是会有很大的帮助的。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值