[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: ash vs. bash



On Fri, Jul 23, 1999 at 05:48:16PM +0000, Norbert Nemec wrote:
> Sure, I simply could easily make it sh compliant, but it made me wonder: 
> * How do I specify the shell I want to have used automatically within make files
>   (Probably simple, but I could not find it in the make info)

Set the $(SHELL) variable, e.g. put this on the beginning of debian/rules :
SHELL = /bin/bash

You can find it in make's info entry, it says so in many places:

   The program used as the shell is taken from the variable `SHELL'.
By default, the program `/bin/sh' is used.

   Every Makefile should contain this line:
     SHELL = /bin/sh
to avoid trouble on systems where the `SHELL' variable might be
inherited from the environment.  (This is never a problem with GNU
`make'.)

`SHELL'
     The name of the system default command interpreter, usually
     `/bin/sh'.  You can set `SHELL' in the makefile to change the
     shell used to run commands.  *Note Command Execution: Execution.

> but what is even more:
> * how many makefiles (especially debian/rules) may there be that contain
>   such bashianisms and may stay undetected for a long time, because they are
>   ony executed by a small number of people.

Probably many. When you find some, simply file bugs asking for the shell
to be explicitely set to bash or the commands converted to plain sh.

-- 
enJoy -*/\*- pronounced 'iosip', or simply 'joseph'


Reply to: