08-30-2009
Hi.
I updated my post with a link that might help. As SH doesn't support arrays, you need to work around it, and eval is a good solution.
9 More Discussions You Might Find Interesting
1. UNIX for Dummies Questions & Answers
I have been trying to create a script that changes the user rights to read in the 'other' group across directories. The problem I'm having is that when i execute the script, the permissions of the directories remains the same.
HELP (8 Replies)
Discussion started by: BigTool4u2
8 Replies
2. AIX
Please help me
1. Please give me the few examples of shell scripts written for AIX
2.I have scripts written on Unix, does that work for AIX, if not what are the changes to be carried out to run the scripts on AIX....
Please help me (4 Replies)
Discussion started by: me_haroon
4 Replies
3. Shell Programming and Scripting
I have a program (say, MyProgram) written in Bourne-shell script, but at some point it calls another script written in pearl, as illustrated below:
#!/bin/sh
.....
case $x in
1) ConfigSystem1 ( b-shell script)
2) ConfigSystem2 ( pl)
3) ConfigSystem3 (b-shell)
....
Then I create... (0 Replies)
Discussion started by: bluemoon1
0 Replies
4. UNIX for Dummies Questions & Answers
Hi,
I am writing somescripts to shut down some services in Korn Shell. Some of the services are under different owners. For example when I want to shutdown NXserver I need to be "root", but when I shut down the webserver I need to be under a different user.
Manual I would use "su root" and... (1 Reply)
Discussion started by: bonekrusher
1 Replies
5. UNIX for Dummies Questions & Answers
This is a newbie question in which I feel almost ashamed in asking lol. I am told to make changes to /etc/rc2.d so that only certain scripts run. If I change something like S05netconfig to s05netconfig will it still run? What is the difference between S and s scripts (I see both types in there).... (1 Reply)
Discussion started by: rkruck
1 Replies
6. Fedora
Hello. I am currently in a class dealing with shell scripts. I know some commands and get the basics of command line in Fedora 11. But the coding....I'm a bit lost. I was very ill for 2 weeks and missed a lot, much of which there are no notes provided.
I'm not asking you to do my homework,... (1 Reply)
Discussion started by: Feuyaer
1 Replies
7. UNIX for Dummies Questions & Answers
I would like to ask if cron when running a planned script changes the current folder for the script.
Thank you! (2 Replies)
Discussion started by: MartyIX
2 Replies
8. AIX
HI i need help from seniors on this issue, i need to know how to do this, i need to update 50+ server starting saturday. below is the ticket which i have with full description.
Currently MQ Series must be stopped before and started after any reboot. Not having the start/stop as part of... (2 Replies)
Discussion started by: gulamibrahim
2 Replies
9. Shell Programming and Scripting
Dear Members,
I have a table REQUESTS in Oracle which has an attribute REQUEST_ACTION. The entries in REQUEST_ACTION are like, ME, MD, ND, NE etc.
I would like to create a script which will will call other scripts based on the request action.
Can we directly read from the REQUEST_ACTION... (2 Replies)
Discussion started by: Yoodit
2 Replies
LEARN ABOUT CENTOS
shell-quote
SHELL-QUOTE(1) User Contributed Perl Documentation SHELL-QUOTE(1)
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.16.3 2010-06-11 SHELL-QUOTE(1)