From owner-freebsd-questions@FreeBSD.ORG Mon Jan 12 19:34:45 2009 Return-Path: Delivered-To: freebsd-questions@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 969C41065670 for ; Mon, 12 Jan 2009 19:34:45 +0000 (UTC) (envelope-from SRS0=7iia/d=5Q=shell.siscom.net=vogelke@siscom.net) Received: from lamorack.siscom.net (lamorack.siscom.net [209.251.2.116]) by mx1.freebsd.org (Postfix) with ESMTP id 690038FC1B for ; Mon, 12 Jan 2009 19:34:45 +0000 (UTC) (envelope-from SRS0=7iia/d=5Q=shell.siscom.net=vogelke@siscom.net) Received: from shell.siscom.net ([209.251.2.80]) by lamorack.siscom.net with esmtp (Exim 4.62) (envelope-from ) id 1LMSHv-0002Vx-OL for freebsd-questions@freebsd.org; Mon, 12 Jan 2009 14:17:27 -0500 Received: by shell.siscom.net (Postfix, from userid 2198) id 9CC39115529; Mon, 12 Jan 2009 14:24:48 -0500 (EST) Received: by kev.msw.wpafb.af.mil (Postfix, from userid 32768) id 03CFFBE56; Mon, 12 Jan 2009 14:16:58 -0500 (EST) To: freebsd-questions@freebsd.org In-reply-to: <7740275E-77AA-45C1-B95E-C1F62D2AAB29@goldmark.org> (message from Jeffrey Goldberg on Sun, 11 Jan 2009 20:08:18 -0600) Organization: Oasis Systems Inc. X-Disclaimer: I don't speak for the USAF or Oasis. X-GPG-ID: 1024D/711752A0 2006-06-27 Karl Vogel X-GPG-Fingerprint: 56EB 6DBF 4224 C953 F417 CC99 4C7C 7D46 7117 52A0 Message-Id: <20090112191700.03CFFBE56@kev.msw.wpafb.af.mil> Date: Mon, 12 Jan 2009 14:16:58 -0500 (EST) From: vogelke+unix@pobox.com (Karl Vogel) Subject: Re: bash versus sh test builtin X-BeenThere: freebsd-questions@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list Reply-To: vogelke+unix@pobox.com List-Id: User questions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 12 Jan 2009 19:34:45 -0000 >> On Sun, 11 Jan 2009 20:08:18 -0600, >> Jeffrey Goldberg said: J> if [ $UID -ne 0 ] ; then ... J> Does anyone have a recommendation of how to run this simple test in /bin/sh J> and how to write tests reasonably portably? I think your best bet for comparisons like this is to use case. I started doing that back in the days when '[' would start a separate program: case "$UID" in 0) echo am root ;; *) echo not root ;; esac I use "test" for things relating to file access: die() { echo "$@" >& 2 exit 1 } test -f /etc/passwd || die "Your system is seriously hosed" -- Karl Vogel I don't speak for the USAF or my company If men ruled the world #12: Instead of wasting money on an expensive engagement ring, your fiancee would get a giant foam hand that said, "You're #1!"