linux下的各种shell介绍(bash和dash转换)
来源:互联网 发布:openstack nova源码 编辑:程序博客网 时间:2024/06/06 02:02
在linux下编写shell脚本文件时,经常会看到很多人在文件的第一行中标注“#!/bin/bash”。这句话的意思是告诉系统强制用bash,避免出现一些不兼容的问题。
那么,在linux系统中,除了bash之外,还有哪些shell工具?各自之间有什么区别?如何知道当前系统使用的是哪一个shell?彼此之间又如何进行转换呢?本文就来一一解答。
1、各类常用shell介绍
不同的shell具备不同的功能,shell还决定了脚本中函数的语法,linux中默认的shell是/bin/bash,流行的shell有ash、bash、ksh、csh、zsh等,不同的shell都有自己的特点以及用途。
- ash。ash Shell是由Kenneth Almquist编写的,是Linux 中占用系统资源最少的一个小Shell,它只包含24个内部命令,因而使用起来很不方便。
- bash。大多数Linux系统默认使用的shell,bash shell 是 Bourne shell 的一个免费版本,它是最早的 Unix shell,bash还有一个特点,可以通过help命令来查看帮助。包含的功能几乎可以涵盖shell所具有的功能,所以一般的shell脚本都会指定它为执行路径。
- csh。C shell 使用的是“类C”语法,csh是具有C语言风格的一种shell,其内部命令有52个,较为庞大。目前使用的并不多,已经被/bin/tcsh所取代。
- dash。小巧,符合 POSIX 标准,但是功能很少。不是给人交互时使用的。
- ksh。Korn shell 的语法与 Bourne shell 相同,同时具备了 C shell 的易用特点。许多安装脚本都使用 ksh ,ksh有42条内部命令,与bash相比有一定的限制性。
- tcsh。tcsh是csh的增强版,与 C shell 完全兼容。
- sh。是一个快捷方式,已经被/bin/bash所取代。
- zsh。zch是Linux 最大的Shell之一,由Paul Falstad完成,共有84 个内部命令。如果只是一般的用途,没有必要安装这样的Shell。
2、如何查询当前shell?
leon@Ubuntu:~$ ls -l /bin/shlrwxrwxrwx 1 root root 4 9月 11 11:14 /bin/sh -> bash
3、如何进行shell间的转换?
例如,使用下面的命令可以将系统缺省的shell指定为bash:
sudo ln -fs /bin/bash /bin/sh
或者, 也可以使用下面的命令完成从bash到dash的转换:
sudo dpkg-reconfigure dash
在弹出的对话框中选择“否”!
阅读全文
0 0
- linux下的各种shell介绍(bash和dash转换)
- linux shell dash&bash
- 嵌入式linux:Ubuntu系统下bash和dash的区别(修改默认sh为bash)
- Ubuntu的shell之bash和dash
- Ubuntu的shell之bash和dash
- Ubuntu的shell之bash和dash
- Ubuntu的shell之bash和dash
- Ubuntu的shell之bash和dash
- Ubuntu的shell之bash和dash
- ubuntu下shell脚本运行异常:bash和dash的区别
- ubuntu下shell脚本运行异常:bash和dash的区别
- ubuntu下shell脚本运行异常:bash和dash的区别
- Ubuntu下shell脚本运行异常:bash和dash的区别
- Ubuntu下shell脚本运行异常:bash和dash的区别
- Ubuntu系统下bash和dash的区别(修改默认sh为bash)
- 一条命令实现bash和dash的转换
- bash、dash(/bin/bash和/bin/sh)的区别
- bash和dash的区别
- QTableWidget设置网格线粗细 单元格中添加控件并居中
- ssh_status的session处理
- 新的开始
- 定时备份SQL SERVER的数据库并且把备份文件复制到另外一台服务器保存
- SQL Server中nvarchar和varchar的区别
- linux下的各种shell介绍(bash和dash转换)
- 学习mysql事务
- Markdown总结:
- NOR flash和NAND flash区别,RAM 和ROM区别
- Draft.js 自己定义块组件
- java 中的线程研究笔记(一)
- Java基础技术核心归纳(四)
- 微信小程序实现滑动tab切换和点击tab切换并显示相应的数据(附源代码)
- RecyclerView--个人使用心得