05-26-2010
Quote:
Originally Posted by
singh.chandan18
Can you please let me know why do we use "./" to run a shell script?
Is it to run the script in the current shell or something else?
It executes a script that is in the current directory instead of where it belongs, which is in a directory in your $PATH.
Quote:
What if I have already defined a bang in the script say #!/bin/ksh and then running the script as ./myscript?
The shebang tells the OS (or your shell) what interpreter to use to run the script.
Quote:
I would also like to know the difference in running a script as ./myscript and . /myscript(with white space).
./myscript is described above.
. /myscript will attempt to source (not execute) a script located in /, the root directory, where it should never be.
This User Gave Thanks to cfajohnson For This Post:
10 More Discussions You Might Find Interesting
1. Shell Programming and Scripting
test:/oracle/home
$ ex_im1.sh
ksh: exp_imp1.sh: not found
$echo $SHELL
/bin/ksh
ex_im1.sh has rwxr--r-- permissions
thanks (3 Replies)
Discussion started by: dreams5617
3 Replies
2. Shell Programming and Scripting
Hello ;
I have a script myscript.sh. If I type at prompt
myscript.sh
I will receive
ksh: myscript.sh: not found
but if I type
./myscript.sh
it works .
What should I do to be able to run myscript just typing
myscript.sh
Many thanks before. (1 Reply)
Discussion started by: big123456
1 Replies
3. Shell Programming and Scripting
Hi ,
Kindly advice whats wrong with this script. It is not executing.
...#
#!/bin/ksh
find. -name "b.log"
if ; then
echo "1"
fi
...#
Thanks (5 Replies)
Discussion started by: himvat
5 Replies
4. UNIX for Advanced & Expert Users
I need to execute a shell script kept in unix machine from windows. User id, password area available.
For eg.
There's a shell script wich moves all the logs kept in my home directory to a directory named LOGS.
Now i need to get this done through windows; either using a batch file, or java... (4 Replies)
Discussion started by: rajneesh_kapoor
4 Replies
5. Shell Programming and Scripting
Hi,
I have a script get_DB_var.ksh which do a data base call and get some variables as below:
sqlplus -silent $user/$pass@dbname <<END
select col1,
col2,
col3
from table_name where col4=$1;
exit;
END
Now I want to access all these variables i.e.... (9 Replies)
Discussion started by: dips_ag
9 Replies
6. UNIX for Dummies Questions & Answers
Dear All,
I have a script on my USB and I want to execute it on set of files when I connect via ssh on the server ...
I'm not able to define the path of the script located in the USB ... how can I use this script without copying/moving it into the directory I'm working on in the ssh mode ....... (6 Replies)
Discussion started by: pawannoel
6 Replies
7. Shell Programming and Scripting
Script test
#! /bin/csh -f
echo checking the sset command
if( -e /home/user/project/runtest/testdir/ts ) then
echo ts script present
set cmd = "/home/user/project/runtest/testdir/ts a 1 b 2 c 3"
else
echo script not present
endif
echo $cmd
echo done
script ts
#!/bin/csh -f
set... (1 Reply)
Discussion started by: animesharma
1 Replies
8. UNIX for Dummies Questions & Answers
Hello,
I wasn't sure where to post this so I posted it here. I've used UNIX quite a bit, LINUX not so much. For some reason, my LINUX script will not execute if I type in the script name and press enter. I'm in the directory where the script is.
test.sh
However, when I use ". ./" it... (5 Replies)
Discussion started by: jsanders
5 Replies
9. UNIX for Dummies Questions & Answers
Hi i wrote a script which dosent exists after executing any help
#!/bin/bash
netstat -ptlen | grep 10000
if ; then
echo "Hive Thrift server is running"
exit 0
else
echo "Hive Thrift server is down Trying to Bring up the service" | mail -s "ALERT" team@domain.com
`nohup hive... (7 Replies)
Discussion started by: vikatakavi
7 Replies
10. Shell Programming and Scripting
Hi,
I am new to UNIX and want to execute oracle script from unix script.
I have written below script but i am getting below error.
#!/bin/bash
file="/home/usr/control/control_file1"
while read line
do
#$line=@$line
#echo $line
sqlplus tiger/scott@DB
@$line
exit
#echo "$line"
done... (3 Replies)
Discussion started by: vipin kumar rai
3 Replies
LEARN ABOUT DEBIAN
shell-quote
SHELL-QUOTE(1p) User Contributed Perl Documentation SHELL-QUOTE(1p)
NAME
shell-quote - quote arguments for safe use, unmodified in a shell command
SYNOPSIS
shell-quote [switch]... arg...
DESCRIPTION
shell-quote lets you pass arbitrary strings through the shell so that they won't be changed by the shell. This lets you process commands
or files with embedded white space or shell globbing characters safely. Here are a few examples.
EXAMPLES
ssh preserving args
When running a remote command with ssh, ssh doesn't preserve the separate arguments it receives. It just joins them with spaces and
passes them to "$SHELL -c". This doesn't work as intended:
ssh host touch 'hi there' # fails
It creates 2 files, hi and there. Instead, do this:
cmd=`shell-quote touch 'hi there'`
ssh host "$cmd"
This gives you just 1 file, hi there.
process find output
It's not ordinarily possible to process an arbitrary list of files output by find with a shell script. Anything you put in $IFS to
split up the output could legitimately be in a file's name. Here's how you can do it using shell-quote:
eval set -- `find -type f -print0 | xargs -0 shell-quote --`
debug shell scripts
shell-quote is better than echo for debugging shell scripts.
debug() {
[ -z "$debug" ] || shell-quote "debug:" "$@"
}
With echo you can't tell the difference between "debug 'foo bar'" and "debug foo bar", but with shell-quote you can.
save a command for later
shell-quote can be used to build up a shell command to run later. Say you want the user to be able to give you switches for a command
you're going to run. If you don't want the switches to be re-evaluated by the shell (which is usually a good idea, else there are
things the user can't pass through), you can do something like this:
user_switches=
while [ $# != 0 ]
do
case x$1 in
x--pass-through)
[ $# -gt 1 ] || die "need an argument for $1"
user_switches="$user_switches "`shell-quote -- "$2"`
shift;;
# process other switches
esac
shift
done
# later
eval "shell-quote some-command $user_switches my args"
OPTIONS
--debug
Turn debugging on.
--help
Show the usage message and die.
--version
Show the version number and exit.
AVAILABILITY
The code is licensed under the GNU GPL. Check http://www.argon.org/~roderick/ or CPAN for updated versions.
AUTHOR
Roderick Schertler <roderick@argon.org>
perl v5.8.4 2005-05-03 SHELL-QUOTE(1p)