03-15-2010
Quote:
read lol
read lil
echo "scale=2; $lol - $lil" | bc
A hunch. How did you execute these three lines?
If you type them one-by-one at the command prompt answering each "read" before typing the next command ... they should work.
If you put them in a shell script and execute the script ... they should work.
If you cut/paste all three lines onto the command line they will fail. This is because the second line becomes the input to the first line meaning that $lol contains the string "read lil" which in turn makes the echo contain rubbish to pass to "bc".
8 More Discussions You Might Find Interesting
1. UNIX for Dummies Questions & Answers
Hello guys!
Can say me anybody about operatios with unix, I don't to make operations, only inside in a variable, like this
#y=4
#x=2
#let z=$y-$x
#echo $z
# 2
but I can't to make mathematical operations with decimal like this
#y=3.2
#x=1.5
#let z=$y-$x
#echo $z
# 3
this... (2 Replies)
Discussion started by: cesar720213
2 Replies
2. UNIX for Dummies Questions & Answers
Hi Friends,
I am new to shell scripting and a trying to work this out.
I have a variable called $number.
The value in this variable is 10
I want to display $number - 2 in a mail. The result would be 8
eg.
mail -s 'subject' user <<eof
the result of your calculation is $number - 2... (2 Replies)
Discussion started by: sureshy
2 Replies
3. Shell Programming and Scripting
please give the difference between AIX shell scripting and Unix shell scripting. (2 Replies)
Discussion started by: haroonec
2 Replies
4. Shell Programming and Scripting
I've been able to generate output based on the code scarfake provided me (thanks again man).
A little background so everyone more or less knows whats going on:
I needed code that would propagate a database with 100,000 entries, for capacity testing purposes, something like a stress test.
... (5 Replies)
Discussion started by: ogoy
5 Replies
5. Shell Programming and Scripting
Hi, i wish to learn unix commands and shell scripting.
platform is solaris. but i am focused more on handy unix commands than system administration.
which books do you recommend? (1 Reply)
Discussion started by: nurulamin862
1 Replies
6. UNIX for Dummies Questions & Answers
Hello Experts,
I have the following questions to be discussed here at this esteemed discussion forum.
I have two Excel sheets which contain Unix Commands llike creating directory the structure/ftp/Copy/Zip etc to basically create an environment. I need help in understanding some of... (1 Reply)
Discussion started by: faizsaadq
1 Replies
7. Shell Programming and Scripting
Hi ,
Please excuse me for opening a new thread i am unable to find out the syntax error
in my if else condition inside for loop in awk command ,
my actual aim is to print formatted html td tag when if condition (True) having string as "failed",
could anyone please advise what is the right... (2 Replies)
Discussion started by: karthikram
2 Replies
8. What is on Your Mind?
I have added a new experimental "Computer Science and Mathematics Trivia - True or False" section in the discussions, currently under the tags box.
In the future, I plan to
Expand this feature to add more trivia categories from math, science and technology.
Keep track of correct and... (20 Replies)
Discussion started by: Neo
20 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)