From owner-freebsd-questions@FreeBSD.ORG Mon May 31 08:12:44 2010 Return-Path: Delivered-To: questions@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 837E41065672 for ; Mon, 31 May 2010 08:12:44 +0000 (UTC) (envelope-from m.seaman@infracaninophile.co.uk) Received: from smtp.infracaninophile.co.uk (gate6.infracaninophile.co.uk [IPv6:2001:8b0:151:1::1]) by mx1.freebsd.org (Postfix) with ESMTP id ED63C8FC13 for ; Mon, 31 May 2010 08:12:43 +0000 (UTC) Received: from seedling.black-earth.co.uk (seedling.black-earth.co.uk [81.187.76.163]) (authenticated bits=0) by smtp.infracaninophile.co.uk (8.14.4/8.14.4) with ESMTP id o4V8CXVt099247 (version=TLSv1/SSLv3 cipher=DHE-RSA-CAMELLIA256-SHA bits=256 verify=NO); Mon, 31 May 2010 09:12:33 +0100 (BST) (envelope-from m.seaman@infracaninophile.co.uk) Message-ID: <4C036F71.2080001@infracaninophile.co.uk> Date: Mon, 31 May 2010 09:12:33 +0100 From: Matthew Seaman Organization: Infracaninophile User-Agent: Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10.6; en-US; rv:1.9.1.9) Gecko/20100317 Thunderbird/3.0.4 MIME-Version: 1.0 To: Aiza References: <4C036C48.3000307@comclark.com> In-Reply-To: <4C036C48.3000307@comclark.com> X-Enigmail-Version: 1.0.1 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 7bit X-Virus-Scanned: clamav-milter 0.96.1 at lucid-nonsense.infracaninophile.co.uk X-Virus-Status: Clean X-Spam-Status: No, score=2.0 required=5.0 tests=DKIM_ADSP_ALL,SPF_FAIL autolearn=no version=3.3.1 X-Spam-Level: ** X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on lucid-nonsense.infracaninophile.co.uk Cc: "questions@freebsd.org" Subject: Re: how to debug .sh type script 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: Mon, 31 May 2010 08:12:44 -0000 -----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 On 31/05/2010 08:59:04, Aiza wrote: > Is there way to single step through each line of code and see the real > values of the variables? Not 'single step' as such -- what you can do is run with '-x' which prints each line as it is executed. That's either: sh -x scriptname or you can add it to the #! line in the script, or just stick 'set -x' somewhere in the script body. If you use the 'set -x' form, you can set it up to trace through just the interesting parts of your code. (Somewhat counter intuitively 'set - -x' or 'set -o xtrace' turns on trace mode; 'set +x' or 'set +o xtrace' turns it off) This doesn't give you a way of arbitrarily querying the value of any variable, but you will be able to see all variable assignments as part of the trace. There's also a '-v' flag which adds displaying input read by the shell as it executes. Cheers, Matthew - -- Dr Matthew J Seaman MA, D.Phil. 7 Priory Courtyard Flat 3 PGP: http://www.infracaninophile.co.uk/pgpkey Ramsgate JID: matthew@infracaninophile.co.uk Kent, CT11 9PW -----BEGIN PGP SIGNATURE----- Version: GnuPG/MacGPG2 v2.0.14 (Darwin) Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org/ iEYEARECAAYFAkwDb3EACgkQ8Mjk52CukIyoLwCfdTamyG/PnEgdbWEDlZwaW28B HCwAn2WhU6/GCLzamityi3YiW79OcjS9 =7vBz -----END PGP SIGNATURE-----