From owner-freebsd-questions@FreeBSD.ORG Sun Apr 9 23:04:41 2006 Return-Path: X-Original-To: freebsd-questions@freebsd.org Delivered-To: freebsd-questions@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id CF49516A401 for ; Sun, 9 Apr 2006 23:04:41 +0000 (UTC) (envelope-from mfitzgerald@pacific.net.au) Received: from jay.exetel.com.au (jay.exetel.com.au [220.233.0.8]) by mx1.FreeBSD.org (Postfix) with ESMTP id B200F43D6D for ; Sun, 9 Apr 2006 23:04:38 +0000 (GMT) (envelope-from mfitzgerald@pacific.net.au) Received: (qmail 16204 invoked by uid 507); 10 Apr 2006 09:04:13 +1000 Received: from 28.101.233.220.exetel.com.au (HELO ?192.168.1.100?) (220.233.101.28) by jay.exetel.com.au with SMTP; 10 Apr 2006 09:04:13 +1000 Mime-Version: 1.0 (Apple Message framework v623) In-Reply-To: <20060409153819.V96633@tribble.ilrt.bris.ac.uk> References: <20060409153819.V96633@tribble.ilrt.bris.ac.uk> Content-Type: text/plain; charset=US-ASCII; format=flowed Message-Id: Content-Transfer-Encoding: 7bit From: Malcolm Fitzgerald Date: Mon, 10 Apr 2006 09:04:12 +1000 To: freebsd-questions@FreeBSD. ORG X-Mailer: Apple Mail (2.623) Cc: Subject: Re: Shell scripting question [newby] X-BeenThere: freebsd-questions@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: User questions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 09 Apr 2006 23:04:41 -0000 On 10/04/2006, at 12:39 AM, Jan Grant wrote: > On Sun, 9 Apr 2006, Malcolm Fitzgerald wrote: > >> I'm trying to follow the instructions at >> >> >> At point four it offers this shell script. >> >> cut -f 1 -d '$' /usr/local/freebsd-update/work/md5all | uniq | >> while read X; do >> if [ -f $X ]; then echo $X; fi; >> done | sort > /root/base-old >> >> Running this from root shell in konsole (bash) I get "while: >> Expression >> Syntax". The various hints and clues I get from the shell, the web >> and man >> bash haven't helped me. Would someone provide the correct syntax for >> me? > > That syntax is correct for sh and bash; you're not running it, however. > Double-check that after you su to root, you're really running bash. > That > error is what csh will tell you. Thanks Jan, Your advice got me to step 7 where the need to pass a control structure to the loop stopped me again. I got a bash shell and I write: for dist in base dict doc games info manpages ports; do cat /mnt/6.0-RELEASE/${dist}/${dist}.?? > /usr/${dist}.tgz done I put it onto three lines by typing "\" at the end of each line to achieve the layout and I get the prompt ">". When I get to the end, ie, "done" I press Enter and get another prompt. How can I get the multi-line command executed? Malcolm