05-06-2012
Quote:
Originally Posted by
new_item
Thank you for reply. I think your solution is best possible
But I have been thinking how to resolve this matter without for or while loop. Only for test purposes.
I don't see a way, because the string being grepped for
really is constantly changing. You could do so inside awk I suppose, but it would just mean moving the while loop inside awk instead of the shell.
10 More Discussions You Might Find Interesting
1. Shell Programming and Scripting
The profile of the user is empty. Then before I run the script I want I run a parameter file that populates the variables for oracle.
ORACLE_HOME
ORACLE_BASE
ORACLE_SID
PATH
etc ...
But it seems that these variables are not making it to the shell I am in because when I do an echo on... (6 Replies)
Discussion started by: lesstjm
6 Replies
2. Shell Programming and Scripting
hi,
can anyone help me by saying what is basename..
i have seen this in many programs where the basename is used....
thanks,
Krips (4 Replies)
Discussion started by: kripssmart
4 Replies
3. UNIX for Dummies Questions & Answers
Hi,
can anyone let me know how to interpret the below third line in the following code.
Gone through the man pages of "basename", but no go.
for f in *.foo;
do
base=`basename $f .foo`
mv $f $base.bar
done
Thanks. (2 Replies)
Discussion started by: venkatesht
2 Replies
4. Shell Programming and Scripting
I am calling a script from with another script and reading its output one line at a time (using <childscript> | while read line) in the parent script. If the output exceeds a predefined number of lines I want to kill the child shell from within the parent shell.
I decided to print the process ID... (2 Replies)
Discussion started by: slash_blog
2 Replies
5. Shell Programming and Scripting
Hello,
I've a little problem with one of my ksh scripts and I manage to narrow it to the script here:
#!/bin/ksh
writeLog()
{
paramHandle="unknown"
OPTIND=1
while getopts :i: option $*
do
case $option in
i) paramHandle=${OPTARG} ;;
esac
done
echo... (2 Replies)
Discussion started by: Dahu
2 Replies
6. Shell Programming and Scripting
what is the meaning of "script_name=$(basename $0)", can someone please explain? (1 Reply)
Discussion started by: abhi200389
1 Replies
7. Shell Programming and Scripting
People,
Here is my code
while read ln
do
xyz=$(echo $ln/$val1*100-100|bc -l|xargs printf "%1.0f\n")
if && ; then
iam="YELLOW"
fi
done <<< "$(grep "^" $TMPOUT)"
where $TMPOUT is a flat file which contains a set of values.
Whilst executing the above, I get an error... (4 Replies)
Discussion started by: sathyaonnuix
4 Replies
8. Shell Programming and Scripting
Hi,
the getopts doesnt seem to be working in the subshell of the ksh. when I echo $@ and $* from the subshell it shows nothing. even when I am capturing the parameters from the outer shell and passing while invoking the file then I am still not getting it properly.
the below code is in the... (9 Replies)
Discussion started by: hitmansilentass
9 Replies
9. Shell Programming and Scripting
Hi All,
I am trying to create a shell script which runs on my linux machine.
The requirement is so that,
ade createview xyz -> this steps creates a view
ade useview xyz -> we are entering inside the view
ade begintrans -> begin a transaction
My script has following code :
lets say... (2 Replies)
Discussion started by: Dish
2 Replies
10. Shell Programming and Scripting
Hello,
I am firing off some scripts from a main script,
cd B/
./EV_B_m0-m200_hex1.sh &
./EV_B_m0-m200_hex2.sh &
wait
...more
It would be useful to put a bit of time between the two to clean up the output to the terminal.
I think this would work,
cd B/
... (4 Replies)
Discussion started by: LMHmedchem
4 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)