Sponsored Content
Full Discussion: Maths with variables
Top Forums Shell Programming and Scripting Maths with variables Post 302388191 by TonyFullerMalv on Tuesday 19th of January 2010 04:43:33 PM
Old 01-19-2010
The bc(1) command can do scripted mathematics for you, e.g.:

Code:
$ RI=30
$ RESULT=`echo "scale=3; 10 / ${RI}" | bc`
$ echo $RESULT
.333

The above will work in BASH, Bourne and Korn shell.

So the script in Bourne would be:
Code:
RI_min=10
RI_max=30
RI_inc=1

# Run Flex2d for each RI
RI=${RI_min}
echo "Calculating flexure for:"
while [ ${RI} -le ${RI_max} ]; do
  RI=`expr ${RI} + ${RI_inc}`
  PI=`echo "scale=3; 10 / ${RI}" | bc`
  echo PI = ${PI}
done

and running this produces:
Code:
Calculating flexure for:
PI = .909
PI = .833
PI = .769
PI = .714
PI = .666
PI = .625
PI = .588
PI = .555
PI = .526
PI = .500
PI = .476
PI = .454
PI = .434
PI = .416
PI = .400
PI = .384
PI = .370
PI = .357
PI = .344
PI = .333
PI = .322

I'll leave you to translate it into tcsh if you must.

This site:
Math Commands
goes into more detail about calculations in scripts.
 

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

Problem with Maths

Heres a script i wrote as a bit of practise. What it does is insert a line in the middle of a file. The line being $1 and the file being $2 #!/bin/bash rm tempfile touch tempfile count=1 linenum= `wc -l < $2` if then echo $1 >> $2 else even=`expr "$linenum" % 2` if then... (3 Replies)
Discussion started by: Quesa
3 Replies

2. Programming

How to convert byteArray variables to HexaString variables for Linux?

Hello everybody, I am having problem in converting byte array variables to Hexa String variables for Linux. I have done, converting byte array variables to Hexa String variables for Windows but same function doesn't work for linux. Is there any difference in OS ? The code for Windows is given... (2 Replies)
Discussion started by: ritesh_163
2 Replies

3. Shell Programming and Scripting

Perl - maths equation - need help

if input to the perl program is ' ( p * ((a+b) * (c+d))) + q ' it shuld give the output as ' pac + pad + pbc + pbd + q ' .can anyone suggest a way to do this ? (7 Replies)
Discussion started by: Anuj8584
7 Replies

4. Shell Programming and Scripting

Using IF statements with maths where the input is not an integer

Hi All I've made a few scripts which using GDAL extract the value of a pixel within a given raster. The purpose is to work out the combine value of every pixel. I thought there may have been an easier way to do this but alas! The code below extracts the pixel value at position X Y. The... (3 Replies)
Discussion started by: StudentFitz
3 Replies

5. Shell Programming and Scripting

Simple maths calculator loop.

Hi, I am trying to make a maths calculator that: 1. Prompts the user for a number. 2. Prompts the user for an operation (add, subtract, divide or multiply) 3. Prompts the user for a number. 4. Prompts the user for another operation (same as above) OR the option to get the result for the... (4 Replies)
Discussion started by: johnthebaptist
4 Replies

6. Shell Programming and Scripting

Maths in shell scripts

Hi, Need help on this. I need to increment a variable by 1 but retain as 2 characters. I am using expr to do additions: NEWSERIAL=`expr $SERIAL + 1` $SERIAL can range from 01-99. After adding "1", I need the result to be 2 characters, eg: 02+1 = 03. By default expr will truncate the... (4 Replies)
Discussion started by: vchee
4 Replies

7. Shell Programming and Scripting

Running a script with multiple variables like 25 variables.

Hi All, i have a requirement where i have to run a script with at least 25 arguements and position of arguements can also change. the unapropriate way is like below. can we achieve this in more good and precise way?? #!/bin/ksh ##script is sample.ksh age=$1 gender=$2 class=$3 . . .... (3 Replies)
Discussion started by: Lakshman_Gupta
3 Replies

8. Shell Programming and Scripting

BASH arrays and variables of variables in C++

Sometimes it is handy to protect long scripts in C++. The following syntax works fine for simple commands: #define SHELLSCRIPT1 "\ #/bin/bash \n\ echo \"hello\" \n\ " int main () { cout <<system(SHELLSCRIPT1); return 0; } Unfortunately for there are problems for: 1d arrays:... (10 Replies)
Discussion started by: frad
10 Replies

9. Shell Programming and Scripting

Passing awk variables to bash variables

Trying to do so echo "111:222:333" |awk -F: '{system("export TESTO=" $2)}'But it doesn't work (2 Replies)
Discussion started by: urello
2 Replies

10. Shell Programming and Scripting

Calculate the constant e to 14+ decimal places using integer maths.

Hi guys... I am loving this integer maths thing. 64 bit systems are certainly easier than 32 bit, but hey, I don't intend to leave out my fav' platform. Using one of the 'Brothers' methods, URL inside the code. #!/bin/sh # # #!/usr/local/bin/dash # e_constant.sh # Brother's formula . #... (2 Replies)
Discussion started by: wisecracker
2 Replies
SURFRAW-UPDATE-PATH(1)					User Contributed Perl Documentation				    SURFRAW-UPDATE-PATH(1)

NAME
surfraw-update-path - updates PATH in shell config files SYNOPSIS
surfraw-update-path [-add] [-remove] [-check] [-sys] [-all] [-help] [-shell=SHELL] DESCRIPTION
surfraw-update-path adds the surfraw elvi directory (/usr/lib/surfraw) to your PATH in your shell's config file. Currently it supports bash, sh, csh, tcsh, ash, dash, ksh, pdksh, zsh, rc, and es Don't forget to login again or source your login files for it to take effect. OPTIONS
-check Checks to see if the surfraw config code is present. This is the default. -add Adds the surfraw config code. -remove Removes the surfraw config code -sys Updates the system-wide shell config instead of the user. Must be done as root. -shell=SHELL Selects the shell to configure. Defaults to the value of the $SHELL environment variable. Currently supported shells are: sh, ash, bash, dash, csh, tcsh, ksh, pdksh, zsh, rc, and es. -all Attempts to configure the startup files for all known shells -help Gives a usage message RETURN VALUE
-check returns 0 if the surfraw code is present in the file, 1 if it is not found, or 2 on error. All other options return 0 on success, or 2 on error. ENVIRONMENT
SHELL Used to determine which shell to configure, if -shell is not given. HOME Used to find users config files. ENV Used by posix-compliant shells to specify a startup rc file. ZDOTDIR Used to find user config files for zsh. If not set, defaults to HOME. SEE ALSO
surfraw(1), sh(1), ash(1), bash(1), dash(1), csh(1), tcsh(1), ksh(1), pdksh(1), zsh(1), rc(1), es(1) AUTHOR
Ian Beckwith <ianb@erislabs.net> perl v5.12.4 2011-07-12 SURFRAW-UPDATE-PATH(1)
All times are GMT -4. The time now is 05:12 AM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy