sh/bash/csh/Tcsh/ksh/pdksh等shell本质区别
sh/bash/csh/Tcsh/ksh/pdksh等shell本质区别
1. Shell脚本的书写
在写Shell脚本时,往往第一行要注明用什么解释器来解释这个脚本。
- 如#!/bin/bash即用/bin/bash这个解释器来解释接下来的语句。
- 还有如#!/bin/csh
- Shell脚本的一般后缀是.sh
2. Shell的类型(以下列出相对流行的shell,但不是全部)
sh(全称Bourne Shell),是UNIX最初使用的shell,而且在每种UNIX上都可以使用。
- Bourne Shell在shell编程方便相当优秀,但在处理与用户的交互方便作得不如其他几种shell。
bash(全称Bourne Again Shell),LinuxOS默认的,它是Bourne Shell的扩展。
- 与Bourne Shell完全兼容,并且在Bourne Shell的基础上增加了很多特性。可以提供命令补全,命令编辑和命令历史等功能。它还包含了很多C Shell和Korn Shell中的优点,有灵活和强大的编辑接口,同时又很友好的用户界面。
csh(全称C Shell),是一种比Bourne Shell更适合的变种Shell,它的语法与C语言很相似。
Tcsh是Linux提供的C Shell的一个扩展版本。
- Tcsh包括命令行编辑,可编程单词补全,拼写校正,历史命令替换,作业控制和类似C语言的语法,他不仅和Bash Shell提示符兼容,而且还提供比Bash Shell更多的提示符参数。
ksh(全称Korn Shell),集合了C Shell和Bourne Shell的优点并且和Bourne Shell完全兼容。
pdksh,是Linux系统提供的ksh的扩展。
- pdksh支持人物控制,可以在命令行上挂起,后台执行,唤醒或终止程序。
sh/bash/csh/Tcsh/ksh/pdksh等shell本质区别的更多相关文章
- sh/bash/csh/Tcsh/ksh/pdksh等shell的区别
w shell confusion..what is diff between bash, ksh, csh, tcsh..?? http://www.linuxquestions.org/ques ...
- Shell: sh,bash,csh,tcsh等shell的区别(转)
转载自:http://zhidao.baidu.com/question/493376840.html, http://blog.sina.com.cn/s/blog_71261a2d0100wmbj ...
- 转 关于shell脚本中#!/bin/bash and #!/bin/ksh 的说明
1.在文件里面输入一系列命令,可以直接执行吗? 可以.作者认为,这时调用的是当前用户默认使用的shell. 如果其中一个命令有错,后面的命令还是会继续执行下去的 如果说使用了”&& ...
- shell sh bash 概念
在shell脚本的开头往往有一句话来定义使用哪种sh解释器来解释脚本.目前研发送测的shell脚本中主要有以下两种方式:(1) #!/bin/sh(2) #!/bin/bash以上两种方式有什么区别? ...
- Linux下sh/bash/source/.命令的区别(转)
一..sh文件介绍 .sh为Linux的脚本文件,我们可以通过.sh执行一些命令,可以理解为windows的.bat批处理文件. 二.点命令(.) .命令和source是同一个命令,可以理解为sour ...
- 怎样用 Bash 编程:逻辑操作符和 shell 扩展
学习逻辑操作符和 shell 扩展,本文是三篇 Bash 编程系列的第二篇. Bash 是一种强大的编程语言,完美契合命令行和 shell 脚本.本系列(三篇文章,基于我的 三集 Linux 自学课程 ...
- 交互式shell和非交互式shell、登录shell和非登录shell的区别
交互式shell和非交互式shell.登录shell和非登录shell的区别.首先,这是两个不同的维度来划分的,一个是是否交互式,另一个是是否登录. 交互式shell和非交互式shell(intera ...
- maya shell 和 UV shell 的区别
maya shell 和 UV shell 的区别 shell 是 maya 模型自身分离的部分 UV shell 是 UV 分离的部分 有多少个shell,就至少有多少个 UV shell,但是一个 ...
- Quotes in shell(bash, csh)
There are three kinds of quote: single quote('), double quote("), backslash(\), how shell expla ...
随机推荐
- udhcp源码详解(一)之文件组织结构(dhcp server) --转
udhcp目录下有十几个源文件,一个源文件相对应一个模块,完成一系列相关的功能,例如在static_leases.c主要针对static_lease链表增删查找等操作. dhcpd.c—— 整个d ...
- ffmpeg转码本地文件(一)
ffmpeg转码本地文件(一) 实现目标:输入本地文件.实现本地文件转码,里面包括mux层转码,codec层转码,视频格式转换,音频重採样等功能,功能点请看凝视.注意:凝视非常重要. #ifndef ...
- Hibernate中Criteria的完整用法?
http://www.cnblogs.com/mabaishui/archive/2009/10/16/1584510.html
- python 获取代码宿主机名 ip
1.获取hostname 相同代码 不同宿主机 日志名 互异 且 可识别宿主机 分布式爬虫 https://docs.python.org/3.6/library/socket.html#socket ...
- accept()函数用来告诉Qt,事件处理函数“接收”了这个事件,不要再传递;ignore()函数则告诉Qt,事件处理函数“忽略”了这个事件,需要继续传递(看一下QWidget::mousePressEvent的实现,最为典型。如果希望忽略事件,只要调用父类的响应函数即可)
QEvent的accept()和ignore()一般不会用到,因为不如直接调用QWidget类的事件处理函数直接,而且作用是一样的,见下面的例子. 推荐直接调用QWidget的事件处理函数.而不是调用 ...
- JDK安装以及配置环境变量的步骤
---恢复内容开始--- 一.JDK安装 JDK下载链接:https://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads ...
- mongo03
Mongo存储的单位是文档,文档是js对象, use test2 db.createCollection("stu")//隐士创建库显示创建表 db.stu.,name:" ...
- YTU 2901: G-险恶逃生II
2901: G-险恶逃生II 时间限制: 1 Sec 内存限制: 128 MB 提交: 44 解决: 14 题目描述 SOS!!!koha is trapped in the danger ...
- C语言-1.static 和 extern使用,2.文件,3.数据块读写
1.static 和 extern使用, 1)修饰局部变量 static修饰局部变量特点:延长局部变量的生命周期 ,static修饰的局部变量只会被执行一次 extern不能修饰局部变量 2)修饰全局 ...
- windows 操作系统问题的解决
浏览器之间具有较大的差异: 如果某问题只存在于某浏览器,而其他浏览器不存在此问题,则说明,问题出在该浏览器上: 或者是缓存已满:⇒ 清除缓存: 或者浏览器的兼容性问题: 1. error 1327. ...