1.各种Unix shell

linux下的shell基本是从unix环境中的shell发展而来,贴一下wiki:其中我们常用的,可归类为Bourne Shell(/usr/bin/sh或/bin/sh)、Bourne Again Shell(/bin/bash)、C Shell(/usr/bin/csh)、K Shell(/usr/bin/ksh)、Shell for Root(/sbin/sh),等等

第一个Unix shell是由肯·汤普逊,仿效Multic上的shell所实现出来,称为sh。

Bourne shell 兼容

  • Bourne shell (sh) 史蒂夫·伯恩在贝尔实验室时编写。1978年随Version 7 Unix首次发布。

    • Almquist shell (ash)
    • Bourne-Again shell (bash)
    • Debian Almquist shell(dash)
    • Korn shell (ksh) David Korn在贝尔实验室时编写。
    • Z shell (zsh)

C shell 兼容

  • C shell (csh) 比尔·乔伊在加州大学伯克利分校时编写。1979年随BSD首次发布。

    • TENEX C shell (tcsh)

其他

  • fish,第一次发布于2005年。
  • rc shell (rc) 九号项目系统的shell,由Tom Duff在贝尔实验室时编写。随后移植回 Unix 和其他的操作系统。scsh (Scheme Shell)
    • es shell (es) 一个函数式编程的rc兼容shell,编写于二十世纪九十年代中期。

2. perl、python、shell脚本区别

严格的讲, shell不是一种编程语言, 但是shell有自己的控制流结构(判断,循环,选择),运算以及函数等编程语言特性, 加上shell命令组织在一起构成脚本, 能够完成一般编程语言做到的事情.

perl和python相比于shell, 是严格意义上的编程语言. 功能比shell当然会复杂很多, 语法上也稍微复杂一些.
perl最大的优势在于它的字符串模式匹配能力,其提供了一个十分强大的正则表达式匹配引擎。然而perl语言的晦涩和对符号语法的过度使用,让解读变得很困难。这些语法令初学者不得精要,为他们的学习带来不小的阻碍。通常当你想阅读几个月前写的perl脚本的时候都不得不求助参考书。

系统管理的基础是shell, 这取决于shell的桥梁作用. 可以说, shell脚本几乎可以完成所有linux下的自动化任务.

perl/python处理某些问题可能比shell简单,高效, 可以说是提升系统管理水平的进阶手段.

linux下的shell和脚本相关推荐

  1. Linux 减,linux下的shell运算(加、减、乘、除)

    linux下的shell运算(加.减.乘.除) 标签: linuxshell运算加减乘除 2014-03-12 16:25 15127人阅读 评论(0) 收藏 举报 分类: linux(17) ((i ...

  2. Linux下的shell脚本实战之用户创建

    Linux下的shell脚本实战之用户创建 一.脚本要求 二.脚本内容 三.运行脚本 一.脚本要求 二.脚本内容 三.运行脚本 一.脚本要求 1.该脚本提示用户创建用户名和密码 2.判断输入的用户名是 ...

  3. linux下执行shell脚本文件,Linux下使用shell脚本自动执行脚本文件

    搜索热词 以下实例本人在Centos6.5 64位操作系统中使用 一.定时复制文件 a.在/usr/local/wfjb_web_back目录下创建 tomcatBack.sh文件 #将tomcat中 ...

  4. linux下的shell脚本

    linux下的shell脚本 一.Shell概述 二.Shell 解析器 三.Shell脚本入门 1. 脚本格式 2. 第一个Shell脚本:helloworld 3. 第二个Shell脚本:多命令处 ...

  5. linux实现学生信息管理系统,Linux下基于shell脚本实现学生信息管理系统

    LINUX Linux操作系统 Linux下基于shell脚本实现学生信息管理系统 #该管理系统是参考两位博主(时间有点远了,我忘了,请博主看到后联系我)后自行修改添加的.登录过程还有很多不完善,我就 ...

  6. linux下的shell脚本,linux下的shell脚本的使用

    什么是shell? Shell是一个命令解释器,它在操作系统的最外层,负责直接与用户进行对话,把用户的输入解释给操作系统,并处理各种各样的操作系统的输出结果,输出到屏幕反馈给用户.这种对话方式可是交互 ...

  7. linux启停was命令,linux下的启停脚本

    linux下的根据项目名称,进行进程的启停脚本 #!/bin/bash JAVA=/usr/bin/java APP_HOME=/opt/program/qa/wechat APP_NAME=prog ...

  8. Linux下Apache自动监测重启脚本

    Linux下Apache自动监测重启脚本(智能化程度较高) 本站原创 [基于 署名-非商业使用-相同方式分享 2.5 协议,转载须注明链接] 本文所述apache监控脚本已经过VPS管理百科验证 由于 ...

  9. linux下的shell操作mysql

    (1)MySQL的启动 重启了一次服务器后,使用> mysql -u root -p登陆是出现下面的错误: ERROR 2002 (HY000): Can't connect to local ...

最新文章

  1. 浩方平台CS流量评估
  2. spring quartz 的定时器cronExpression表达式写法(转载)
  3. python去掉数字最后的零_python – 如何消除额外的负号,将数字四舍五入为零时,以numpy为单位?...
  4. mysql mycat 路由规则_Mycat分库路由规则
  5. python—列表、字典生成式
  6. Excel如何处理x,y坐标的合并
  7. Going to 的将来时态_47
  8. 随想录(提高代码质量的几个工具)
  9. IntelliJ IDEA(三、各种工程的创建 -- 之二 -- 创建一个JavaWeb工程)
  10. 使计算机拒绝远程桌面服务,拒绝通过远程桌面服务登录
  11. 财务内部收益率用计算机怎么算,使用EXCEL计算财务内部收益率
  12. 延时加载(lazy load)
  13. 三个div怎么分别靠左、居中、靠右显示
  14. 王艺瑞浙江大学计算机学院,关于公示2010年(秋)同等学力申请进入论文阶段学员名单的通知...
  15. View事件分发机制
  16. [FLASH]加载外部图片到舞台
  17. CAD机械零件平面绘制练习七、CAD镜像命令高阶绘图练习
  18. 电脑运行应用程序出现0xc000007b的解决方法
  19. 畅通工程(并查集 C++)
  20. 笔记本连不上苹果手机热点怎么回事

热门文章

  1. 首届渣打科营编程马拉松赛初赛圆满结束
  2. Java并发编程 - 显示锁Lock和ReentrantLock
  3. [翻译]在jQuery 1.5中使用deferred对象
  4. [转]JS部分通用函数
  5. 在程序里面(服务器端)调用Winrar压缩文件的方法?另寻求一条语句转换的方法。vb.net到C#。...
  6. 详细描述一下 Elasticsearch 搜索的过程?
  7. 基于主机Overlay和自研虚拟化网关的VPC在360的落地
  8. SpringCloud 微服务网关Gateway介绍及简单路由配置
  9. Eclipse 创建 Maven 工程
  10. python并发处理机制_Python并发处理