Sponsored Content
Top Forums Shell Programming and Scripting Syntax error in subtraction in Bash Post 303040009 by Chubler_XL on Monday 21st of October 2019 08:56:18 PM
Old 10-21-2019
Nice wisecracker. This method would rap up into a fun little bash sum function:

Code:
function sum
{
   local word exp var

   [[ "$1" = *= ]] && var="-v ${1%=}" && shift

   for word in "$@"
   do
       case "$word" in
          [0-9.]*|-[0-9.]*|+|-)
              printf -v ans "%.f" "${word}e+12" 2>/dev/null || ans=$word
              exp="$exp $ans" ;;
          *) echo "sum: $word operator not supported" >&2 ; exit 1 ;;
       esac
   done
   printf $var "%.8f\n" $(( $exp ))e-12
}

sum val= 3.58047 - .68 + .858 + -1.2
echo $val

These 2 Users Gave Thanks to Chubler_XL For This Post:
 

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

BASH Script syntax error

I'm trying to write a simple script that takes all the .tar.gz files in a directory and verifies them by using the gzip -tv command: for zip in *.tar.gz do gzip -tv $zip if ; then #Check return code from tar echo "File ${zip} verified OK." exit... (4 Replies)
Discussion started by: kelldan
4 Replies

2. Shell Programming and Scripting

subtraction in bash arrays

hi i am using bash shell to perform some subraction. here is what i have: i have a while loop and am using i as a counter. diff= `expr ${ARRAY1} - ${ARRAY2}` for example array1 has -0.7145 and array2 has -0.7041. when i try the above command, i get expr: non-numeric argument. any... (6 Replies)
Discussion started by: npatwardhan
6 Replies

3. Shell Programming and Scripting

bash syntax error: command not found

I am trying to create a shell that asks the user to enter their name, and compare it to my own by saying we have the same name or saying my name and that they have a nice name too. Here is my script... #!/bin/bash-x echo "Enter your name". read name if then echo "My name is Adam too"... (1 Reply)
Discussion started by: amaxey45
1 Replies

4. Shell Programming and Scripting

Bash syntax error

while read line do mkdir $line scp -r Docking_results/docking_$line.pdb $line/ cd /$line/ set a=`grep ENDMDL docking_'$line'.pdb | wc -l` set b=`expr $a - 2` csplit -k -s -n 3 -f docking_'$line'. docking'$line'.pdb '/^ENDMDL/+1' '{'$b'}' foreach f (... (4 Replies)
Discussion started by: chrisjorg
4 Replies

5. Shell Programming and Scripting

Trying to pass a password: bash: syntax error near unexpected token `('

howdy, so I'm make a plugin work for Nagios, and the commandline is: /usr/lib/nagios/plugins/check_mssql -H MySQLServerName -u MySqlAccountName -p MyPassword(#XXXXX -d MyDatabaseName it is barfing with: bash: syntax error near unexpected token `(' Thoughts? Do I have to wrap something... (2 Replies)
Discussion started by: rgouette
2 Replies

6. Shell Programming and Scripting

-bash: syntax error near unexpected token `('

// AIX 6.1 I am getting a syntax error below. Please advise what to be corrected. :confused: runmqsc CERN.$(echo `hostname` | cut -d'.' -f1 | tr '' '').$(echo $environment | tr '' '') <<! | egrep -i '(FROM.NC.APPLIANCE)' | sort -u |awk '{print $2}' | cut -d '(' -f2 | cut -d ')' -f1 |... (1 Reply)
Discussion started by: Daniel Gate
1 Replies

7. Shell Programming and Scripting

Basic Bash algorithm with sum/subtraction

Hi all, i'm making some test on a data file. Imagine i have two columns inside it : 80377,20 80377,20 80379,19 80378,20 80380,20 80382,20 80381,21 Just to understand how can it works, imagine to subtract 100 to the number in the first column when the other one in the second... (4 Replies)
Discussion started by: Board27
4 Replies

8. Shell Programming and Scripting

Bash function using variable in it syntax error

The below bash function uses multiple variables CODING, SAMPLE, SURVEY, andvariant in it. The user selects the cap function and details are displayed on the screen using the $SURVEY variable, the directory is changed to $SAMPLE and the samples.txt is opened so the user can select the sample to... (6 Replies)
Discussion started by: cmccabe
6 Replies

9. Shell Programming and Scripting

Bash calling a few functions syntax error

In the bash function below if the user selets "y" then the menu function is called and if they select "n" the move function is called. That all seems to work, my question is after the files are moved an echo, line in bold is displayed and another function called backup is called. I am getting a... (1 Reply)
Discussion started by: cmccabe
1 Replies

10. BSD

Keep getting error "-bash: ./.profile_z2: line 52: syntax error: unexpected end of file"

#!/bin/bash #-------------------------------------------------------- # Setup prompt # Author Zeeshan Mirza # Data: 06-08-2017 #-------------------------------------------------------- if then . ./.profile_custom_pre fi umask 022 set -o vi export EDITOR=vi export VISUAL=vi... (3 Replies)
Discussion started by: getzeeshan
3 Replies
sum(1)							      General Commands Manual							    sum(1)

NAME
sum - Displays the checksum and byte count in block-size (1024) units of a file SYNOPSIS
sum [-o | -r] [file...] The sum command reads file and calculates a 16-bit checksum and the byte count in block-size (1024) units in the file. If the file argu- ment is omitted, sum reads standard input. STANDARDS
Interfaces documented on this reference page conform to industry standards as follows: sum: XCU5.0 Refer to the standards(5) reference page for more information about industry standards and associated tags. OPTIONS
[Tru64 UNIX] Uses an algorithm to compute the checksum using word-by-word computation. Uses an alternate algorithm to compute the check- sum (rigorous byte-by-byte computation rather than the word-by-word computation). [Tru64 UNIX] This is the default. OPERANDS
The file for which a checksum is to be computed. If this operand is omitted, standard input is used. DESCRIPTION
The checksum and number of blocks are written to standard output. The sum command is generally used to determine if a file that was copied or communicated over transmission lines is an exact copy of the original. The sum command writes the space used in 1024-byte units. [Tru64 UNIX] The checksum is calculated using a rigorous byte-byte computation by default. System V Compatibility [Tru64 UNIX] The checksum algorithms for the default sum command and the SVID 2 compliant sum command are reversed. The SVID 2 compliant sum command uses the word-by-word algorithm by default and uses the byte-by-byte algorithm if you specify the -r option on the command line. NOTES
The sum utility is marked LEGACY in XCU Issue 5. [Tru64 UNIX] The default algorithm is no longer the word-by-word computation algorithm. It was changed to the 4.3BSD default algorithm. The algorithms used may not be portable, that is, the same checksum may not be produced for the same input on different systems. Portable applications should use cksum. EXIT STATUS
The following exit values are returned: Successful completion. An error occurred. EXAMPLES
To display the checksum of datafile and the number of blocks in this file, enter: sum datafile If the checksum of datafile is 1605 and if the file contains 3 blocks, sum displays: 1605 3 datafile ENVIRONMENT VARIABLES
The following environment variables affect the execution of sum: Provides a default value for the internationalization variables that are unset or null. If LANG is unset or null, the corresponding value from the default locale is used. If any of the internationalization vari- ables contain an invalid setting, the utility behaves as if none of the variables had been defined. If set to a non-empty string value, overrides the values of all the other internationalization variables. Determines the locale for the interpretation of sequences of bytes of text data as characters (for example, single-byte as opposed to multibyte characters in arguments). Determines the locale for the for- mat and contents of diagnostic messages written to standard error. Determines the location of message catalogues for the processing of LC_MESSAGES. SEE ALSO
Commands: cksum(1), wc(1) Standards: standards(5) sum(1)
All times are GMT -4. The time now is 10:49 AM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy