Welcome 微信登录

首页 / 操作系统 / Linux / Debian上把/bin/sh指向dash

GNU/Linux 操作系统中的 /bin/sh 是 bash(Bourne-Again Shell)的符号链接,但鉴于 bash 过于复杂,有人把 ash 从 NetBSD 移植到 Linux 并更名为 dash(Debian Almquist Shell),并建议将 /bin/sh 指向它,以获得更快的脚本执行速度。Ubuntu 号称自从他们在 6.10 版里这样做了以后,系统启动速度有了明显的提升。Debian 计划在下一个发行版(代号 lenny)中也将 dash 作为默认的 /bin/sh。 按照惯例(以及很多写脚本的规范),标记为“#!/bin/sh”的脚本不应使用任何 POSIX 没有规定的特性(使用 bash 特性的脚本要使用“#!/bin/bash”),所以在理论上,这样应该没有任何副作用。但是现实中,Linux 下的很多(不规范的)脚本有所谓 bashism,却在文件头标记为“#!/bin/sh”。有人把脚本失败归咎于 Ubuntu 而不是自己的脚本,这是不公平的。 刚才在 Debian (testing)下尝试用 dash 作为 /bin/sh,并重启了一下系统,好像快了那么一点点(心理作用?)不过我想它节约的那点时间也许比挂载我的两个 reiserfs 分区用的时间还要少…… 遇到的问题:自己的两个脚本挂了,把“#!/bin/sh”改为“#!/bin/bash”;自己的一个带 bashism 的 Makefile 挂了,加上“SHELL=/bin/bash”。 在 Debian 下,先安装软件包 dash,然后 dpkg-reconfigure dash,回答 Yes 即可。 在 Ubuntu 下这已经是默认,如果因为某些原因需要改回到 bash,也是用 dpkg-reconfigure dash。用 Ubuntu 10.10 构建 Time Machine 备份服务器CentOS与Ubuntu的一些不同相关资讯      Debian 
  • Debian GNU/Linux系统迎来23岁生日  (08月18日)
  • Debian Live 项目的剧变  (05月04日)
  • 为什么说Debian是主流Linux操作系  (01月11日)
  • Debian停止支持一批旧的32位CPU  (05月09日)
  • Linux桌面发行版Debian安装起来到  (05月04日)
  • Debian 创始人 Ian Murdock 先生去  (12/31/2015 10:10:49)
本文评论 查看全部评论 (0)
表情: 姓名: 字数