Please can any one explain this ${0##/}


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting Please can any one explain this ${0##/}
# 1  
Old 04-01-2008
Please can any one explain this ${0##/}

I did not understand what is ${0##/}

PGM=${0##/}
TMP=/tmp/${PGM}.$$


Please explain me.
# 2  
Old 04-01-2008
'man ksh' yields the following:
Code:
       ${name#pattern}, ${name##pattern}
              If pattern matches the beginning of the value of parameter name,
              the  matched text is deleted from the result of substitution.  A
              single # results in the shortest match, two #'s results  in  the
              longest match.

       ${name%pattern}, ${name%%pattern}
              Like  ${..#..}  substitution, but it deletes from the end of the
              value.

# 3  
Old 04-01-2008
PGM=${0##/}
TMP=/tmp/${PGM}.$$

$0 is the complete-name-of-the-script in side the script (e.g. /home/mydir/myscript.sh)

So, ${0##/} means the complete-name-of-the-script without the starting-slash (if it exists)!!

But, what I thing you wanted to write is:

PGM=${0##*/}

which means complete-name-of-the-script without everthing up to and including the last-slash (e.g. myscript.sh)

Then, $$ is the Process-ID of the current script. So, TMP will be set to be /tmp/myscript.sh.1234 (where 1234 is the process-id).

This combination is normally used to create unique (i.e. different for each running script) names.
Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. UNIX for Dummies Questions & Answers

How I can explain this?

Hi friends! I'm learning UNIX and I have a small question. Working with Shell, i put the name of one executable (in c language) + one number and it says this: $ gcc misterioso_4.c $ ./misterioso_4 6 got: , I can not find an answer in the manual because I havent applied any variable.... (5 Replies)
Discussion started by: dakota
5 Replies

2. Shell Programming and Scripting

Can someone explain this for me?

Can someone do me a favour and explain the following for me: ((r=$RANDOM%$n+1)) I know what $RANDOM does but what is % sign and what does it do with %$n+1? (2 Replies)
Discussion started by: bashily
2 Replies

3. Shell Programming and Scripting

anyone can explain this?

why the case 2 will happen ? , ' should stop the history substitution ,shouldn't it? case 1 # echo "123"|sed '/123/!d' 123 case 2 # echo "123 > 456 > 1 > "|sed '/123/!d' -bash: !d': event not found case 3 # echo "123 > 456 > 12 > "|sed '/123/'\!d 123 # bash --version (1 Reply)
Discussion started by: justlooks
1 Replies

4. Shell Programming and Scripting

Explain $# please

I'm trying to follow a script and I see it begins with this: if ; then if ; then print "blah $0 blah blah " exit fi fi What does $# mean? I found out that $1 refers to the shell environment and the last argument that was entered or passed in the previous command. I couldn't find $#... (2 Replies)
Discussion started by: MaindotC
2 Replies

5. Homework & Coursework Questions

Could anyone help explain this?

1. The problem statement, all variables and given/known data: I have a retake assignment to complete for my computer networks and OS class. This isn't really my area, had I known last year I could have swapped it for a different module I would have done so. I'm determined to get through it... (6 Replies)
Discussion started by: Squall Moogle
6 Replies

6. Shell Programming and Scripting

can any one explain this example

hi all i have an example i want one help me to understand cause i tried to test it but almost fail and i don't know how can i solve this problem " the main idea to read from two files and replace something from one to another " but i don't understand why it fail all time $ cat main.txt... (4 Replies)
Discussion started by: maxim42
4 Replies

7. UNIX for Dummies Questions & Answers

Please explain this

if then echo "Syntax: $0 <sid> <COLD/HOT> <DEST>" exit fi if --------------what does this mean??? echo "Syntax: $0 <sid> <COLD/HOT> <DEST>"---pls explain this as well (2 Replies)
Discussion started by: appsdba.nitin
2 Replies

8. AIX

can anyone explain this?

this is the mksys b script.... can anyone explain .. what # and 1 in if condition this is the first line of the script... it is not from middle of the script.... if then echo "Not enough parameters, need a client name for mksysb" Usage="Usage: $0 <client name>" ... (2 Replies)
Discussion started by: honeym210
2 Replies

9. Shell Programming and Scripting

please explain the below

could u please convert the below statement to shell script ---------- logdir=/smp/dyn/logfiles/cpm/pgm/pgIm $logdir = $logdir ."/pgIm${toDate}*"; ---- could u please explain the below clearly grep -i adding $logdir | grep -iv equation | awk '{print \$NF}' | sort -u | sed -e... (1 Reply)
Discussion started by: mail2sant
1 Replies

10. Shell Programming and Scripting

please explain this

zsh 4.3.4% cat file ACFCFACCACARCSHFARCVJVASTVAJFTVAJVGHBAJ zsh 4.3.4% cat file1 A C F R zsh 4.3.4% <file1 while read;do printf "%s=%d\n" "$REPLY" "${#$(<file)//}";done A=9 C=7 F=4 R=2 That was the previous post. But , can anybody can explain me in detail about this line zsh... (2 Replies)
Discussion started by: dummy_needhelp
2 Replies
Login or Register to Ask a Question