From owner-freebsd-questions@freebsd.org Tue Jan 31 19:01:48 2017 Return-Path: Delivered-To: freebsd-questions@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id D189ECCA4A2 for ; Tue, 31 Jan 2017 19:01:48 +0000 (UTC) (envelope-from freebsd@edvax.de) Received: from mailrelay14.qsc.de (mailrelay14.qsc.de [212.99.163.154]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client CN "*.antispameurope.com", Issuer "TeleSec ServerPass DE-2" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 45597905 for ; Tue, 31 Jan 2017 19:01:47 +0000 (UTC) (envelope-from freebsd@edvax.de) Received: from mx01.qsc.de ([213.148.129.14]) by mailrelay14.qsc.de; Tue, 31 Jan 2017 20:04:37 +0100 Received: from r56.edvax.de (port-92-195-126-61.dynamic.qsc.de [92.195.126.61]) (using TLSv1 with cipher DHE-RSA-AES256-SHA (256/256 bits)) (No client certificate requested) by mx01.qsc.de (Postfix) with ESMTPS id 9AC4E3CC56; Tue, 31 Jan 2017 20:01:43 +0100 (CET) Received: from r56.edvax.de (localhost [127.0.0.1]) by r56.edvax.de (8.14.5/8.14.5) with SMTP id v0VJ1hFK003041; Tue, 31 Jan 2017 20:01:43 +0100 (CET) (envelope-from freebsd@edvax.de) Date: Tue, 31 Jan 2017 20:01:43 +0100 From: Polytropon To: byrnejb@harte-lyne.ca Cc: freebsd-questions@freebsd.org Subject: Re: Variable assignment in sh Message-Id: <20170131200143.00c5e5da.freebsd@edvax.de> In-Reply-To: <5f51e2c3bdb8a20c6a7786c2b345c957.squirrel@webmail.harte-lyne.ca> References: <20170131161824.a9f1ef46.freebsd@edvax.de> <20170131185103.7f911dfb.freebsd@edvax.de> <5f51e2c3bdb8a20c6a7786c2b345c957.squirrel@webmail.harte-lyne.ca> Reply-To: Polytropon Organization: EDVAX X-Mailer: Sylpheed 3.1.1 (GTK+ 2.24.5; i386-portbld-freebsd8.2) Mime-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit X-cloud-security-sender: freebsd@edvax.de X-cloud-security-recipient: freebsd-questions@freebsd.org X-cloud-security-Virusscan: CLEAN X-cloud-security-disclaimer: This E-Mail was scanned by E-Mailservice on mailrelay14.qsc.de with 4C005683426 X-cloud-security-connect: mx01.qsc.de[213.148.129.14], TLS=1, IP=213.148.129.14 X-cloud-security: scantime:.1924 X-BeenThere: freebsd-questions@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: User questions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 31 Jan 2017 19:01:48 -0000 On Tue, 31 Jan 2017 12:56:40 -0500, James B. Byrne wrote: > > On Tue, January 31, 2017 12:51, Polytropon wrote: > > On Tue, 31 Jan 2017 12:11:49 -0500, James B. Byrne via > > freebsd-questions wrote: > >> > >> In any case, I now have set the shell in the root crontab file > >> explicitly to /usr/local/bin/bash in hopes of avoiding this problem > >> in the future. > > > > That _might_ introduce problems in the future when bash is not > > available. My suggestion: Use /bin/sh for scripting except you > > need to rely on a "bash-ism", a feature that bash can provide, > > but sh cannot. However, you can use bash interactively to test > > sh commands, there is "backward compatibility" (bash can be seen > > as a superset of sh). > > > > How would bash become unavailable on this particular system without > someone specifically removing it? A rare occassion, but possible. Let's say in a worst-case scenario, /usr isn't mounted, and you need to stick with what's on /, then bash, which per default is /usr/local/bin/bash, isn't available. However, bash can be linked statically _and_ copied to a location on /, then you won't have that kind of problem. Portability also could be a problem when you try to run something that expects bash on a system where bash isn't installed. Always keep in mind that bash is _not_ part of FreeBSD, while sh is. I know, those are very special cases, and if your goal is not portability and "guaranteed availability", then it won't hit you. I just thought it's worth being mentioned. -- Polytropon Magdeburg, Germany Happy FreeBSD user since 4.0 Andra moi ennepe, Mousa, ...