Sponsored Content
Top Forums Shell Programming and Scripting Syntax error in subtraction in Bash Post 303040006 by wisecracker on Monday 21st of October 2019 01:35:04 PM
Old 10-21-2019
I am assuming you are using bash or perhaps a POSIX shell like dash.
Your error is telling you that it is not possible to do such a task as these shells have INTEGER arithmetic only.

If you need floating/fixed point arithmetic then you will have to do workarounds using, bc, dc, python, perl, awk or any other methods that are capable of such mechanisms.

(Just an observation, you have both, ${barr1[$i]} and also ${harr1[j]} are these correct?)

EDIT:
Note the second one should have ${harr1[$j]}

An example longhand using INTEGER arithmetic and FIXED point, OSX 10.14.6, default bash terminal:
Code:
Last login: Mon Oct 21 18:25:40 on ttys000
AMIGA:amiga~> x=.098765
AMIGA:amiga~> y=10.3
AMIGA:amiga~> x=$( printf "%.f" ${x}e+12 )
AMIGA:amiga~> y=$( printf "%.f" ${y}e+12 )
AMIGA:amiga~> printf "%.12f\n" $(( y - x ))e-12
10.201235000000
AMIGA:amiga~> _


Last edited by wisecracker; 10-21-2019 at 02:50 PM.. Reason: See EDIT:
These 3 Users Gave Thanks to wisecracker 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
ITECONFIG(8)						    BSD System Manager's Manual 					      ITECONFIG(8)

NAME
iteconfig -- modify console attributes at run time SYNOPSIS
iteconfig [-i] [-f file] [-v volume] [-p pitch] [-t msec] [-w width] [-h height] [-d depth] [-x offset] [-y offset] [color ...] DESCRIPTION
iteconfig is used to modify or examine the attributes of the console bell and bitmapped console display. The console bell's volume, pitch, and count may be specified, as well as the bitmapped display's width, height, horizontal and vertical offset, pixel depth, and color map. The following flags are interpreted by iteconfig: -i After processing all other arguments, print information about the console's state. -f Open and use the terminal named by file rather than the default console /dev/ttye0. -v Set the volume of the console bell to volume, which must be between 0 and 63, inclusive. -p Set the pitch of the console bell to pitch, which must be between 10 and 1399. -t Set the duration of the beep to msec milliseconds which must be between 1 and 5000 (5 seconds). -w Set the width of the console display to width pixel columns. Width must be a positive integer. -h Set the height of the console display to height pixel rows. Height must be a positive integer. -d Set the number of bitplanes the console view should use to depth. For example, if depth is 3 then 8 colors will be used. -x Set the horizontal offset of the console view on the monitor to offset pixel columns. The horizontal offset may be a positive or a negative integer, positive being an offset to the right, negative to the left. -y Set the vertical offset of the console view on the monitor to offset pixel rows. The vertical offset may be a positive or a negative integer, positive being an offset down, negative up. Any additional arguments will be interpreted as colors and will be used to supply the color values for the console view's color map, starting with the first entry in the map. (See the COLOR SPECIFICATION section of this manual page for information on how to specify colors.) If more colors are supplied than are usable by the console view, a warning is printed and the extra colors are ignored. COLOR SPECIFICATION
Colors are hexadecimal numbers which have one of the following formats: 0xRRGGBB RR, GG, and BB are taken to be eight-bit values specifying the intensities of the red, green and blue components, respectively, of the color to be used. For example, 0xff0000 is bright red, 0xffffff is white, and 0x008080 is dark cyan. 0xGG GG is taken to be an eight-bit value specifying the intensity of grey to be used. A value of 0x00 is black, a value of 0xff is white, and a value of 0x80 is a grey approximately half way in between. 0xM M is taken to be the one-bit monochrome value to be used. A value of 0x1 is black, and a value of 0x0 is white. BUGS
The iteconfig command is only available on the amiga and atari ports. BSD
February 3, 1994 BSD
All times are GMT -4. The time now is 09:17 PM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy