bash,dash以及执行shell脚本的方法

xiaoxiao2021-02-28  133

最近在编译平台SDK时,使用环境是ubuntu16.04,开始通过执行shell脚本配置SDK的编译环境,整个过程刚开始就夭折了,原因是ubuntu的默认shell使用的是dash,而SDK的shell脚本是基于bash而写,自然刚开始执行就失败。 首先,可能会想到把shell脚本中默认指定的shell修改为bash,通常在shell脚本开头都会有如下这样一句指明shell:

#!/bin/sh

这里的sh是一个链接,它实际指向,在ubuntu下默认是指向dash。 通过下面的方法可以修改sh的默认指向,比如通过下面的操作步骤,可以修改sh指向bash:

sudo dpkg-reconfigure dash

执行上述命令后,会弹出一个提示,选择"NO"即可。

上面的方法看起来是没什么问题,那下面说下ubuntu为什么不直接默认指定bash shell呢,原因是dash比bash的效率要高,轻量级,作为一个操作系统,自然效率越高越好。但是一般linux系统还是习惯用bash的比较多,所以大部分shell脚本都会基于bash语法来写,这时可能有人会想到另一种方法,即直接指定shell:

#!/bin/bash </
转载请注明原文地址: https://www.6miu.com/read-21015.html

最新回复(0)