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:
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
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.
#!/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)
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)
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)
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)
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)
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
LEARN ABOUT DEBIAN
shtool-mkshadow
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)