Linux中有一位名叫“巴士”的tool、他是如何出世的呢?原来,他是一个为GNU计划(GNU计划,又称革奴计划,是由Richard Stallman在1983年9月27日公开发起的。它的目标是创建一套完全自由的操作系统)编写的Unix shell。它的名字是一系列缩写:Bourne-Again SHell — 这是关于Bourne shell(sh)的一个双关语(Bourne again / born again)。Bourne shell是一个早期的重要shell,由史蒂夫·伯恩在1978年前后编写,并同Version 7 Unix一起发布。bash则在1987年由布莱恩·福克斯创造。在1990年,Chet Ramey成为了主要的维护者。

  事实上,还有许多传统UNIX上用的Shell,例如tcsh、csh、ash、bsh、ksh等等,Shell Script大致都类同,当您学会一种Shell以后,其它的Shell会很快就上手,大多数的时候,一个Shell Script通常可以在很多种Shell上使用。

bash是大多数Linux系统以及Mac OS X默认的shell,它能运行于大多数类Unix风格的操作系统之上,甚至被移植到了Microsoft Windows上的Cygwin系统中,以实现Windows的POSIX虚拟接口。此外,它也被DJGPP项目移植到了MS-DOS上。
  bash的命令语法是Bourne shell命令语法的超集。数量庞大的Bourne shell脚本大多不经修改即可以在bash中执行,只有使用了Bourne的特殊变量或内置命令的脚本才需要修改。 bash的命令语法很多来自Korn shell (ksh) 和 C shell (csh), 例如命令行编辑,命令历史,目录栈,$RANDOM 和 $PPID 变量,以及POSIX的命令置换语法: $(...)。作为一个交互式的shell,按下TAB键即可自动补全已部分输入的程序名、文件名、变量名等等。

最新文章

  1. MVC5+EF6 简易版CMS(非接口) 第二章:建数据模型
  2. 解析xml文件
  3. 一路走过的2013,welcome to 2014
  4. .Net高级技术
  5. php中的NOTICE 的错误解决方法
  6. C连接MySQL数据库开发之Windows环境配置及测试
  7. splice从数组中删除指定定数据
  8. [Android ADB] An auto-input method for Android and Windows
  9. 3997: [TJOI2015]组合数学
  10. Myeclipse 自定义java代码快捷键
  11. java猜数字(实验任务五)
  12. js生成二维码 qrcode
  13. python--numpy、pandas
  14. python爬虫 beutifulsoup4_1官网介绍
  15. 安装php_sqlsrv扩展
  16. django基础操作
  17. 在linux中如何解压.tgz
  18. Android-Kotlin-函数表达式&String与Int转换$异常处理
  19. github git 无法读取远程仓库或无权限
  20. jQuery 学习笔记2 点击时弹出一个对话框

热门文章

  1. DTN学习,theONE模拟器网络相关资料整理
  2. ubuntu14.04下安装rubinius测试原生线程
  3. python 内置标准库socketserver模块的思考
  4. 2MySQL Server 系统架构
  5. HP 3par多路径安装方法
  6. AttributeError: module 'enum' has no attribute 'IntFlag'
  7. python3学习笔记2---引用http://python3-cookbook.readthedocs.io/zh_CN/latest/2
  8. 关于H5的Canvas
  9. 下载Github上某个项目的子文件夹和单个文件
  10. DevOps之一 Gitlab的安装与配置