Ahh. The new answer shows what I've missed to read.
What's regarding the logout is the way you are calling your scripts:
calling a script with the dot-command(=".") is special. Dot means: don't create a new process. Run the Programm in the current process. And when you call the builtin exit in your script, your current shell is closed - as you requested by this command.
Simple solution: Don't use the dot command. Just call your script:
I am having a shell script which has to be called from a C program. I have to pass two parameters to this script. HOw can I do that?
eg:
int main()
{
char st1;
char str2;
// call a shell script
call_sh(str1,str2) where call_sh is the name of the shell script.
then i need to get the return... (5 Replies)
Hi All,
Does anyone have any solutions for passing back multiple variables back to the SHELL from a call to an ORACLE procedure:
eg
#username='scott'
#password='tiger'
#database='orcl'
username='ITGCD03D03'
password='tC5epIew'
database='ITGCD03D'
sqlplus -s... (4 Replies)
Hi..
I have a perl program that uses "system" to execute a shell script called startengine. The script "startengine" itself calls a lot of other smaller scripts to setup the engine etc. It finally has to execute ./engine which is another shell script which is long and takes a long time to... (3 Replies)
Hi All,
Now i am running the 3 oracle procedures one by one manually.
Query: If 1st Procedure OUT_PUT is Success, then call 2nd Procedure.
If 2nd Procedure OUT_PUT is Success, then call 3rd Procedure.
If 1st Procedure is failed, then no need of calling the other
... (8 Replies)
hi.., help me in this case...
1) now the disk is under disksuite, its have some mirrored volume.
how can i get back this disk to OS control.
2) how can i know the a SVM volume avalable,used space.
and the filesystem size on tht volume
please help in this i am bigginer... (5 Replies)
Hi
I have written a script using ftp to get files from one server and copy them to 2 dirrerent servers. I wish to call this script from a parent script that will check the number of files copied and run a check sum for each file. As the filenames for the files in the get portion of the script... (3 Replies)
Helo,
I want to write shell script which takes back of all binaries (exe files).
and when i uninstall the upgraded system which automatically restore the old binary which we have take as back up.
can u tell me how to write such shell scripts.
Regards,
Amit (5 Replies)
Version Control Through the Shell Script
Hi Guys,
Apologize for the big request, please take some time and read it completely... This is Very important for me, and ur help is Very much Appriciated.
I want to maintain the Version control to all my scripts running in Production server, I am... (6 Replies)
OS version : AIX 6.1
Shell : Korn
When you 'postfix' a command with ampersand (&) , it is supposed to run in the background and give you back the control.
I tested this with ping command (by default it pings every 1 second )
After I ran the below ping command with ampersand, I pressed... (3 Replies)
I have one script that calls another script during execution. The other script does some processing, then either returns with exit 0 (if successful), or exits with error code numbers (if failed). However, in addition to the error code, I would like for that second script to be able to pass a... (4 Replies)
Discussion started by: AcerAspirant
4 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)