Subject: positional parameters in wrapper scripts
To: None <tech-pkg@NetBSD.org>
From: Klaus Heinz <k.heinz.jun.vier@onlinehome.de>
List: tech-pkg
Date: 06/06/2004 16:45:45
Hi,
is there a way to safely delete positional parameters in a shell script?
I need to go through the list of positional parameters of a script, delete
certain parameters and pass the rest on to a program.
This sounds simple enough:
#! /bin/sh
echo "number of parameters: $#"
while test $# -gt 0; do
if test "1" = "$1"; then shift; fi
params="$params $1"
shift # ignore the case where $# was 1 and I shift two times
done
set -- $params
echo "number of parameters: $#"
$ ./paramtest.sh 1 "2 3" 4
number of parameters: 3
number of parameters: 3
^^^ should be 2
While "$@" preserves the parameters, I am at a loss how to change "$@".
Can anybody help me?
ciao
Klaus Heinz