Sponsored Content
Full Discussion: meaning of ${0%${0##*/}}
Operating Systems AIX meaning of ${0%${0##*/}} Post 302238841 by bakunin on Monday 22nd of September 2008 06:51:17 AM
Old 09-22-2008
Quote:
Originally Posted by nyelavarthy
. ${0%${0##*/}}Script2 or . ./Script2

Both do the same job. then why use this ". ${0%${0##*/}}Script2" instead of simply using ". ./Script2"?
In this case they expand to the same value, but that has not always to be the case. Suppose the following: you call your script not from the directory where it is stored but from somewhere else:

Code:
$ cd /some/dir
$ /some/other/dir/script
$ _

inside your script the "./" will expand to the PWD, which is not where the script is stored but where you have been when starting the script - "/some/dir" in the example, not "/some/other/dir". If you now execute

Code:
. ./script2

you will execute "/some/dir/script2" instead of "/some/other/dir/script2". Still $0 will contain "/some/other/dir/script" and subsequently the expansion will find script2 on its correct place.

As a rule of thumb: avoid relative paths like the plague in scripts. Always use absolute paths to make sure you end up where you suppose to end up.

I hope this helps

bakunin
 

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

what is the meaning here?

#!/bin/sh $ORACLE_HOME/bin/sqlplus -S $orauserid/$orapasswd@$oradb << _TMP alter session set nls_date_format = 'YYYYMMDD HH24:MI'; set linesize 100 set pagesize 400 ok the above is part of a script..i just wanna know what does sqlplus -S means?? as in why we need to insert the -S behind? (2 Replies)
Discussion started by: forevercalz
2 Replies

2. UNIX for Dummies Questions & Answers

Use and meaning of $*

Can someone explain the use and meaning of "$*" expression. (2 Replies)
Discussion started by: sinpeak
2 Replies

3. Linux

What are the meaning of these macros..

Masters, I am trying to learn the serial mouse driver for linux kernel. On the kernel source tree I find out these macros and I am unable to find out the meaning of these macros. Please anyone help me to understand these. These macros are defined in linux/serio.h... (2 Replies)
Discussion started by: iamjayanth
2 Replies

4. UNIX for Dummies Questions & Answers

what the meaning of #*

can some one please tell the meaning of the second statement i.e n=${m#*=} i couldnt get the meaning of the #*= 1.) m="mohit=/c/main/issue" echo $m result ----------- mohit=/c/main/issue 2.) n=${m#*=} echo $n RESULT ------- /c/main/issue (1 Reply)
Discussion started by: narang.mohit
1 Replies

5. 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

6. Shell Programming and Scripting

meaning of !*

can someone please tell what !* means in shell syntax. Regards, (3 Replies)
Discussion started by: busyboy
3 Replies

7. Shell Programming and Scripting

^$$ meaning

Hi , Can anyone please let me know whta the follwoing piece of code for ScriptName=${0##*/} if pgrep -f "$ScriptName" | grep -v "^$$\$" ; then echo `date`": Sctipt $ScritName is already runnig" exit fi Thnx a lot in advance Please use code tags when posting data and code... (8 Replies)
Discussion started by: Pratik4891
8 Replies

8. 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

9. Shell Programming and Scripting

Meaning

Please let me know the meaning for the below statements in shell scripting. 1) exit -99 -------------------------------- 2) set prgdir = `pwd` set runFlag = runFlag:FALSE ------------------------------------- 3) if (-f $prgdir/maillst.eml) then set distEmail = `cat $prgdir/maillst.eml`... (1 Reply)
Discussion started by: lg123
1 Replies

10. 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
SHTOOL-MKSHADOW.TMP(1)					      GNU Portable Shell Tool					    SHTOOL-MKSHADOW.TMP(1)

NAME
shtool-mkshadow - GNU shtool create shadow tree using symlinks SYNOPSIS
shtool mkshadow [-v|--verbose] [-t|--trace] [-a|--all] src-dir dst-dir DESCRIPTION
This command creates a shadow tree of src-dir under dst-dir by recreating the directory hierarchy of src-dir under dst-dir and by creating the files of src-dir by linking them into the corresponding directories under dst-dir via symbolic links. When src-dir can be reached via relative paths from dst-dir, relative symbolic links are used, too. This high-level functionality is originally designed for developers to create copies of source trees. OPTIONS
The following command line options are available. -v, --verbose Display some processing information. -t, --trace Enable the output of the essential shell commands which are executed. -a, --all Really shadow all files and directories in src-dir. Default is to skip CVS related files and directories, backup files, object files, etc. EXAMPLE
# shell script shtool mkshadow -v -a . /tmp/shadow HISTORY
The GNU shtool mkshadow command was originally written by Ralf S. Engelschall <rse@engelschall.com> in 1998 for Apache. It was later revised and taken over into GNU shtool. SEE ALSO
shtool(1), ln(1). 18-Jul-2008 shtool 2.0.8 SHTOOL-MKSHADOW.TMP(1)
All times are GMT -4. The time now is 04:35 PM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy