Meaning of '$#' in Unix


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting Meaning of '$#' in Unix
# 1  
Old 03-09-2011
Meaning of '$#' in Unix

All,

In the below mentioned piece of code :

Code:
if test $# -eq 1
        then
            echo "Input parameter passed into DMI_weekly.ksh..." | tee -a $RUNLOG
            typeset -u ORACLE_SID
            export ORACLE_SID="$1"
        else
            echo "ERROR 060: Arguments passed to DMI_weekly.ksh do not equal 1..." | tee -a $RUNLOG
            echo "***Verify that a valid ORACLE_SID is being passed when calling script..." >> $RUNLOG
            echo "See $RUNLOG for more details..."
            echo "\nExiting DMI_weekly.ksh with exit status=1...\n"| tee -a $RUNLOG
            echo "Preload Error:  Arguments passed to DMI_weekly.ksh do not equal 1" |mailx -s "DMI_weekly.ksh (ERROR 070)" "
$MAILID"
        exit 1
    fi

what '$#' tells to the unix ...?


Regards
Oracle user

Last edited by DukeNuke2; 03-09-2011 at 03:13 AM..
# 2  
Old 03-09-2011
It is the special built-in variable which contains the total number of parameters passed to any shell script.

if you invoke script test.ksh in this way

Code:
./test.ksh arg1 arg2 arg3

then the value of $# inside the script would be 3.
# 3  
Old 03-09-2011
This means the number of parameters (values) given to the script.
This small example will help you to understand :

Create the scritpt test.sh containing the following lines
echo "1st parameter : $1"
echo "2nd parameter : $2"
echo "3rd parameter : $3"
echo "Number of parameters: $#"
If you execute ./test.sh A B C

The output will be :
1st parameter : A
2nd parameter : B
3rd parameter : C
Number of parameters: 3
If now you execute ./test.sh A B

The output will be :
1st parameter : A
2nd parameter : B
3rd parameter :
Number of parameters: 2
Coming back to your script :

if test $# -eq 1 checks that one parameter is given to the script during its execution. Please notice this doesn't check the content of this parameter.
This User Gave Thanks to fhernu For This Post:
# 4  
Old 03-09-2011
Thank-you anchal and fhernu.
Even i was considering it in the same way, putted this in the forum, just to confirm it.

Regards
Oracle User
Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

Meaning of $1^

Hello everyone, I'm looking for the meaning of this expression, as I don't understand it quite clearly : $1^ What do you think it could be? I thought either: - match lines starting with argument 1 but it should be ^$1 - turn line around : word becomes drow Thanks in advance for your... (4 Replies)
Discussion started by: bibelo
4 Replies

2. Shell Programming and Scripting

What is the meaning of ## in UNIX shell script?

Hi All, I am new to unix shell scripting and I was documenting one of the unix script and encountered below statements - for ii in `ls -1rt /oracle/admin/MARSCOPY/ext_files/fpm-ifpm/*.small.txt | tail -1 | awk '{print $1}'` do smallssim=${ii##/oracle/admin/MARSCOPY/ext_files/fpm-ifpm/}... (2 Replies)
Discussion started by: shuklajayb4
2 Replies

3. UNIX for Beginners Questions & Answers

&& meaning in UNIX

Hi Team, I know that "&" holds the result of current pattern match. But what does "&&" means and its use please? Thanks & Regards, Batta Archana (6 Replies)
Discussion started by: Archana Batta
6 Replies

4. UNIX for Dummies Questions & Answers

UNIX Script - snipet meaning?

What would the below code snippet mean? my ($_configParam, $_paramValue) = split(/\s*=\s*/, $_, 2); $configParamHash{$_configParam} = $_paramValue; (2 Replies)
Discussion started by: MaKha
2 Replies

5. UNIX for Dummies Questions & Answers

meaning of <<!

Hi all, I wanna know the meaning of the last word "<<! " sudo su - user <<! please help on this !!!! (1 Reply)
Discussion started by: sudharson
1 Replies

6. Shell Programming and Scripting

Meaning of each term in stty -a in unix

Hi, Can someone help me with the meaning of each term in the below command in unix: stty-aRegds, I have searched google for a lot for this, but didnt get any success in this. Kunwar (2 Replies)
Discussion started by: kunwar
2 Replies

7. Shell Programming and Scripting

What is the meaning of $_

Hi, Can somebody tell the usage of "$_" cd $_ ? and ls $_ ? (4 Replies)
Discussion started by: giri_luck
4 Replies

8. UNIX for Dummies Questions & Answers

Oot: Level 2 Unix Support? meaning

Hi all, I am sorry, I know this is not correct forum/silly question (usually this is requirement in some vacancies), but i hope someone can explain to me, what is the meaning of : SUN Tier 3 Support Tier 3 Application Installation Level 2 Solaris Level 2 AD MOM + DBA Thank you. (0 Replies)
Discussion started by: blesets
0 Replies

9. UNIX for Dummies Questions & Answers

Meaning of ; in UNIX file?

Hello. I'm looking at a file that has a ; at the beginning of certain lines. Could someone please tell me what that means? Is it a comment? Is it an execute? Thank You (1 Reply)
Discussion started by: willdaw3
1 Replies

10. UNIX for Dummies Questions & Answers

Meaning of unix-rt ldp file type

Hello I was wondering what this file type means... assuming it is some type of data. Is ldp - Linux Doc Program? What type of program would be used to read or interpret this file type? As you can see I'm not a developer, and don't review these types of files. But would like to view... (1 Reply)
Discussion started by: jfmrts
1 Replies
Login or Register to Ask a Question