Difference between $0 and basename


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting Difference between $0 and basename
# 1  
Old 11-10-2010
Difference between $0 and basename

Hi,

Could you please help me to know the difference between
$0 and basename in unix how they useful in shell scripting.

Thanks in advance
# 2  
Old 11-10-2010
$0 will contain the name of your shell script.
basename is used to strip directory and suffix from filenames
See below for easy understanding:
Code:
 
$$>>cat testers.sh
#!/bin/sh
path="/a/b/c/d/e/f/g.txt"
bn=`basename $path`
echo "basename is $bn and script name is $0"

output is:
Code:
 
$$>>testers.sh
basename is g.txt and script name is testers.sh


Last edited by raghu_shekar; 11-10-2010 at 07:08 AM..
# 3  
Old 11-10-2010
Thanks...
# 4  
Old 11-10-2010
Also, normally $0 will contain the name of the script the way it was called, you can strip off the path using basename "$0" to get the name of the script itself.
Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. UNIX for Dummies Questions & Answers

Pipe to basename

I would like to use basename with wc .. I know I can use awk, but want to use basename. Change this wc -l txt* 106 /home/popeye/txt1 154 /home/popeye/txt2 159 /home/popeye/txt3 420 total to this wc -l txt* 106 txt1 154 txt2 159 txt3 420 total (4 Replies)
Discussion started by: popeye
4 Replies

2. Shell Programming and Scripting

$(basename $0)

what is the meaning of "script_name=$(basename $0)", can someone please explain? (1 Reply)
Discussion started by: abhi200389
1 Replies

3. Shell Programming and Scripting

Basename in subshell

Hi All, I would like to improve my bash scripting skill and found a problem which I do not understand. Task is to search and print files in directory (and subdirecories) which contains its own name. Files can have spaces in name. This one works fine for files in main directory, but not for... (4 Replies)
Discussion started by: new_item
4 Replies

4. UNIX for Dummies Questions & Answers

awk and basename

im trying to extract the basename of a process running on a host processx is running at host1 as /applications/myapps/bin/processx i wanted to check if its running, then extract the basename only using: $ ssh host1 "ps aux | grep -v 'grep' | grep 'processx'" | awk '{ print basename $11}' ... (10 Replies)
Discussion started by: kaboink
10 Replies

5. Shell Programming and Scripting

Need help with basename command

I have a file fileinput.txt: File home/me/fileA.doc is size 232 File home/you/you/fileB.doc is size 343 File /directory/fileC.doc is size 433 File /directory/filed.doc cannot find file size I want to use the basename command (or any other command) to output: File fileA.doc is... (3 Replies)
Discussion started by: linuxkid
3 Replies

6. UNIX for Dummies Questions & Answers

basename

Hi, can anyone let me know how to interpret the below third line in the following code. Gone through the man pages of "basename", but no go. for f in *.foo; do base=`basename $f .foo` mv $f $base.bar done Thanks. (2 Replies)
Discussion started by: venkatesht
2 Replies

7. Shell Programming and Scripting

basename + file with space

Hi all, /home/test/test 123.txt i want exact file name like "test 123.txt" basename shows wrong output how can i cut text from 1st charaster to last "/".....? (5 Replies)
Discussion started by: jagnikam
5 Replies

8. Shell Programming and Scripting

basename $0

hi, can anyone help me by saying what is basename.. i have seen this in many programs where the basename is used.... thanks, Krips (4 Replies)
Discussion started by: kripssmart
4 Replies

9. Shell Programming and Scripting

basename problem

Hi guys if i do a=`basename -e -s /home/j/john/*` du -k -h $a | sort -nr | head -10 why when i run the script does it work but also say usage basename string any ideas thanks (9 Replies)
Discussion started by: musicmancanora4
9 Replies

10. Shell Programming and Scripting

reverse of basename

Hi, Can someone let me know how to find the reverse of the basename i.e i have /apps/tiv/pmon/xxxx.dat and I want /apps/tiv/pmon/ Thanks (7 Replies)
Discussion started by: braindrain
7 Replies
Login or Register to Ask a Question