07-28-2006
Other way is to use "shift" operator.
$set you have the cap to learn from mistake. you will learn a lot in ur life.
$ echo $1 $2 $3 $4 $5 $6 $7 $8 $9
you have the cap to learn from mistake. you
$shift 1
$echo $1
have
Anyway ${10} was new thing for me but it worked.
10 More Discussions You Might Find Interesting
1. Programming
Hi
How to pass multi line text as a command line argument to a program.
(i.e)
./a.out hi this is sample 0 file1
where
hi this is sample should be stored in argv
0 in argv and so on... (3 Replies)
Discussion started by: bankpro
3 Replies
2. Shell Programming and Scripting
--------------------------------------------------------------------------------
I have this while loop and at the end I am trying to get it to tell me the last argument I entered. And with it like this all I get is the sentence with no value for $1. Now I tried moving done after the sentence... (1 Reply)
Discussion started by: skooly5
1 Replies
3. Shell Programming and Scripting
Hi,
When i am running the following script 1.sh (without giving the command line arguments) then i am getting the following error.
if
then
echo "UID and PWD are correct"
elif
then
echo "Either UID or PWD is wrong. Please check your UID and PWD"
else
echo "UID and PWD can't be blank"... (9 Replies)
Discussion started by: sunitachoudhury
9 Replies
4. UNIX for Dummies Questions & Answers
I am working on a script wherein i need the user to enter the Build ID
for eg:the command line will show
enter the build ID
Now on entering the build ID it should be assigned to @ARGV.
How can this be done.? (1 Reply)
Discussion started by: Varghese
1 Replies
5. UNIX for Dummies Questions & Answers
Hi, I'm having problems with a script where I wanted every single option specified in the command line to have an argument taken with it, but for some reason only d works in the code I will be showing below.
For example if I did ./thisfile -a something
it would come up with "a chosen with " as... (2 Replies)
Discussion started by: IceX
2 Replies
6. Shell Programming and Scripting
Hi,
Can anyone please help me to know what is the maximum number of command line arguments that we can pass in unix shell script?
Thanks in advance,
Punitha.S (2 Replies)
Discussion started by: puni
2 Replies
7. UNIX for Dummies Questions & Answers
hi, can someone how to accept command line arguments as a variable using in script?
like: ./scriptname arguments
by accept arguments, I can use it in my script?
thx! (1 Reply)
Discussion started by: ikeQ
1 Replies
8. Shell Programming and Scripting
I am new to the world of Unix and shell scripting and have been trying to get the following simple script to work:
#!/bin/bash
echo "what is your age?"
echo "you are $1 years old"I want to be able to enter my age on the command line, when prompted, and it return the... (1 Reply)
Discussion started by: meursault
1 Replies
9. Shell Programming and Scripting
hi,,,,
I want to create a command prompt, for example "prompt>", so my prompt need to handle commands, for example "prompt>cmd", so i want to know how to get arguments for my own commands cmd, i.e. default argc should contain arguments count and argv should point to the argument vector i.e, for... (2 Replies)
Discussion started by: vins_89
2 Replies
10. Shell Programming and Scripting
Hi all,
I am trying to write a code for addition of n numbers which will be passed by the user as command line arguments.
I wrote the following code.
add=0
for (( i = 1 ; i <= $# ; i++ ))
do
add=`expr $i + $add`
done
#echo "sum is : $add"
input :
$./add.sh 12 32 14... (7 Replies)
Discussion started by: PranavEcstasy
7 Replies
LEARN ABOUT DEBIAN
kwargs
Kwargs(3pm) User Contributed Perl Documentation Kwargs(3pm)
NAME
Kwargs - Simple, clean handing of named/keyword arguments.
VERSION
version 0.01
SYNOPSIS
use Kwargs;
# just named
my ($foo, $bar, baz) = kw @_, qw(foo bar baz);
# positional followed by named
my ($pos, $opt_one, $opt_two) = kwn @_, 1, qw(opt_one opt_two)
# just a hashref
my $opts = kw @_;
# positional then hashref
my ($one, $two, $opts) = kwn @_, 2;
WHY
?
Named arguments are good, especially when you take lots of (sometimes optional) arguments. There are two styles of passing named arguments
(by convention) in perl though, with and without braces:
sub foo {
my $args = shift;
my $bar = $args->{bar};
}
foo({ bar => 'baz' });
sub bar {
my %args = @_;
my $foo = $args{foo};
}
bar(foo => 'baz');
If you want to support both calling styles (because it should be mainly a style issue), then you have to do something like this:
sub foo {
my $args = ref $_[0] eq 'HASH' ? $_[0] : { @_ };
my $bar = $args->{bar};
}
Which is annoying, and not even entirely correct. What if someone wanted to pass in a tied object for their optional arguments? That could
work, but what are the right semantics for checking for it? It also gets uglier if you want to unpack your keyword arguments in one line
for clarity:
sub foo {
my ($one, $two, $three) =
@{ ref $_[0] eq 'HASH' ? $_[0] : { @_ } }{qw(one two three) };
}
Did I say clarity? HAHAHAHAHA! Surely no one would actually put something like that in his code. Except I found myself typing this very
thing, and That Is Why.
EXPORTS
Two functions (kw and kwn) are exported by default. You can also ask for them individually or rename them to something else. See
Sub::Exporter for details.
kw(@array, @names)
Short for "kwn(@array, 0, @names)"
kwn(@array, $number_of_positional_args, @names)
Conceptually shifts off n positional arguments from array, then figures out whether the rest of the array is a list of key-value pairs or a
single argument (usually, but not necessarily, a hashref). If you passed in any @names, these are used as keys into the hash, and the
values at those keys are appended to any positional arguments and returned. If you do not pass @names, you will get a hashref (or whatever
the single argument was, like a tied object) back.
Note that if the single argument cannot be dereferenced as a hashref, this can die. No attempt is made by this module to handle the
exception.
AUTHOR
Paul Driver <frodwith@cpan.org>
COPYRIGHT AND LICENSE
This software is copyright (c) 2011 by Paul Driver <frodwith@cpan.org>.
This is free software; you can redistribute it and/or modify it under the same terms as the Perl 5 programming language system itself.
perl v5.12.4 2011-01-24 Kwargs(3pm)