Sponsored Content
Full Discussion: $# question
Top Forums Shell Programming and Scripting $# question Post 34215 by criglerj on Sunday 9th of February 2003 05:13:06 PM
Old 02-09-2003
Re: $# question

You weren't very specific, so I'll answer from the Bourne/Korn/zsh perspective.
Quote:
Originally posted by google
$# holds the number of arguments passed into a shell. Is this value the index of an array?
No, as you already wrote, it's the number of arguments passed into the shell. (The array thing is a C-shell -ism.) You access the arguments by using the variables $1, $2, etc. If there are more than nine arguments, you can use ${10}, ${11}, etc. There are lots of ways to scan through the arguments looking for something.
Quote:
google continued
and if so, is there a way to determine the max index of the array so that I can know right off how many values were passed in? or do I have to sit in some sort of loop testing to see if $# is set, incrementing $# along the way? the goal here is to use the max index to define the iteration argument of a loop.
I think all you need is something like this:
Code:
i=1
while [ $i -lt "$#" ] ; do
    eval arg=\${$i}
    # Do something with $arg here
    i=`expr $i + 1`
done

With Korn and Z shells, you get built in simple arithmetic and don't need to invoke expr.

Unless you need to hold on to the previous values in place (rare in practice), the more usual idiom is something like this:
Code:
while [ "$#" -gt 0 ]; do
    # Do something with $1 here
    shift   # Move $1 out, shifting $2->$1, $3->$2, etc
done

Re: the quotes around $#: The Vim syntax hilighting barfs on this expression when it is unquoted.
 

7 More Discussions You Might Find Interesting

1. Programming

Yet Another Question

Now that I have getch() to work, I have yet another problem. BTW, thank you for answering these questions, I do ask a lot, only because I am eager to know, what is a board used for anyways :) Ok, he's the problem... #include iostream.h #include conio.h int main() { char movement; ... (2 Replies)
Discussion started by: mbolthouse
2 Replies

2. Solaris

vi question

Im trying to edit a 113 meg file in VI and i get the error TMP FILE TOO LARGE. Does someone know how to get around this? Thanks! (1 Reply)
Discussion started by: BG_JrAdmin
1 Replies

3. UNIX for Dummies Questions & Answers

mv question

Hello if I like to move file from defined directories system to new directory that not contained any directories system structure . But I like to create the same file system structure as source directory for example : I have 2 directories: foo1 and foo2 foo1 have directories and foo2 have... (2 Replies)
Discussion started by: umen
2 Replies

4. UNIX for Dummies Questions & Answers

Question

hallo, ik heb hier een vraagje. hoeveel gebruikers kunnen er op 1 unix systeem. hopelijk antwoorden golle nu want ik moet da vinde voor school en die leerkracht zaagt. :p groetjes eu wacht wa was mijne nick ah ja vraagje groetjes vraagje ik kan geen engels dus antwoord liever in het... (1 Reply)
Discussion started by: vraagje
1 Replies

5. Shell Programming and Scripting

question about wc

Hey my friend was asking me if i knew a way to cout how many different words in a file. I told him no not off hand, but i was thinking about it, and i started to wonder also. I imagine this is probably pretty simple im just missing something, I keep confusing my self with how you would compair and... (16 Replies)
Discussion started by: yodadbl07
16 Replies

6. Hardware

question

How to add 3 moniters to a pc set up? (2 Replies)
Discussion started by: clicstic
2 Replies

7. AIX

df question

Hi, Can anyone please explain a little about df command. I have following question: Following example is showing % used as 4 where as total free blocks are 15.46 out of 16.00 MB blocks. df -m /test Filesystem MBblocks Free %Used Iused %Iused ... (5 Replies)
Discussion started by: itsabhi9
5 Replies
GLENABLEVERTEXATTRIB(3G)					  [FIXME: manual]					  GLENABLEVERTEXATTRIB(3G)

NAME
glEnableVertexAttribArray, glDisableVertexAttribArray - Enable or disable a generic vertex attribute array C SPECIFICATION
void glEnableVertexAttribArray(GLuint index); void glDisableVertexAttribArray(GLuint index); PARAMETERS
index Specifies the index of the generic vertex attribute to be enabled or disabled. DESCRIPTION
glEnableVertexAttribArray enables the generic vertex attribute array specified by index. glDisableVertexAttribArray disables the generic vertex attribute array specified by index. By default, all client-side capabilities are disabled, including all generic vertex attribute arrays. If enabled, the values in the generic vertex attribute array will be accessed and used for rendering when calls are made to vertex array commands such as glDrawArrays(), glDrawElements(), glDrawRangeElements(), glMultiDrawElements(), or glMultiDrawArrays(). ERRORS
GL_INVALID_VALUE is generated if index is greater than or equal to GL_MAX_VERTEX_ATTRIBS. ASSOCIATED GETS
glGet() with argument GL_MAX_VERTEX_ATTRIBS glGetVertexAttrib() with arguments index and GL_VERTEX_ATTRIB_ARRAY_ENABLED glGetVertexAttribPointerv() with arguments index and GL_VERTEX_ATTRIB_ARRAY_POINTER SEE ALSO
glBindAttribLocation(), glDrawArrays(), glDrawElements(), glDrawRangeElements(), glMultiDrawElements(), glVertexAttrib(), glVertexAttribPointer() COPYRIGHT
Copyright (C) 2003-2005 3Dlabs Inc. Ltd. This material may be distributed subject to the terms and conditions set forth in the Open Publication License, v 1.0, 8 June 1999. http://opencontent.org/openpub/. [FIXME: source] 05/30/2012 GLENABLEVERTEXATTRIB(3G)
All times are GMT -4. The time now is 08:56 PM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy