Differences between revisions 1 and 14 (spanning 13 versions)
Revision 1 as of 2007-05-02 23:12:30
Size: 1376
Editor: redondos
Comment:
Revision 14 as of 2013-12-21 09:13:19
Size: 387
Editor: Earnestin
Comment:
Deletions are marked like this. Additions are marked like this.
Line 1: Line 1:
[[Anchor(faq25)]]
== How can I access positional parameters after $9? ==
Use {{{${10} }}}instead of {{{$10}}}. This works for ["BASH"] and KornShell, but not for older BourneShell implementations. Another way to access arbitrary positional parameters after $9 is to use {{{for}}}, e.g. to get the last parameter:

{{{
    for last
    do
        : # nothing
    done

    echo "last argument is: $last"
}}}

To get an argument by number, we can use a counter:

{{{
    n=12 # This is the number of the argument we are interested in
    i=1
    for arg
    do
        if [ $i -eq $n ]
        then
            argn=arg
            break
        fi
        i=`expr $i + 1`
    done
    echo "argument number $n is: $argn"
}}}

This has the advantage of not "consuming" the arguments. If this is no problem, the {{{shift}}} command discards the first positional arguments:

{{{
    shift 11
    echo "the 12th argument is: $1"
}}}

Although direct access to any positional argument is possible this way, it's hardly needed. The common way is to use {{{getopts(3)}}} to process command line options (e.g. "-l", or "-o filename"), and then use either {{{for}}} or {{{while}}} to process all arguments in turn. An explanation of how to process command line arguments is available here: http://www.shelldorado.com/goodcoding/cmdargs.html
My name's Earnestine Hannah but everybody calls me Earnestine. I'm from Great Britain. I'm studying at the college (final year) and I play the Xylophone for 7 years. Usually I choose songs from my famous films :). <<BR>>
I have two brothers. I love Home automation, watching TV (Sons of Anarchy) and Woodworking.<<BR>>
<<BR>>
my web page [[https://www.facebook.com/besttablet|site]]

My name's Earnestine Hannah but everybody calls me Earnestine. I'm from Great Britain. I'm studying at the college (final year) and I play the Xylophone for 7 years. Usually I choose songs from my famous films :).
I have two brothers. I love Home automation, watching TV (Sons of Anarchy) and Woodworking.

my web page site

BashFAQ/025 (last edited 2024-03-28 14:56:51 by emanuele6)