1748169 Members
4236 Online
108758 Solutions
New Discussion юеВ

AWK Programming in Linux

 
Stuart Browne
Honored Contributor

Re: AWK Programming in Linux

[ $G68 -ne 0 ] &&
binLinux/GenMill $Mill G68 $G68 "$Sign"
# printf 'G00 G90 G58 X0. Y0.\nG58 G68 X0 Y0 R%c[%0.3g]\n' "$Sign" "$G68"


These three lines are truely interseting.. The 'printf' might have been causing your error, but given the way these 3 lines are at the moment, I'd have expected something else, like a Syntax error.

This is obviously shell script, and you've not said which shell you're using. I'll assume bash or ksh for the moment.

The single [] around $G68 are using the external 'test' application, and assuming $G68 is numerical, should be fine. If it wasn't, you'd be getting "integer expression expected" errors on STDERR.

With the command on the next line after && however, this portion of the routine appears that it would never return the error you are describing.

You've siad you've run it with 'set -xv', then you should have seen exactally where it's falling over.

If you could paste us the output you get when using 'set -x' for when it calls this function, we might be able to help further.
One long-haired git at your service...
Samuel Mathew
Frequent Advisor

Re: AWK Programming in Linux

First of all, this is the snippet that calls the WriteOps function:

gawk ...
WriteOps
fi >> ${Mill}_$Func.nc
ReadOpLine $((OpN+1)) $Stat

And this is the output with set -vx

+ WriteOps
SquD: bin/Milling[129]:0.00:unexpected '.'
SquD: bin/Milling[129]:0.00:unexpected '.'
+ ReadOpLine 2 1

The 129th line of Milling is the last line of code in the file and simply states 'fi'

Thanks for all your help
Samuel Mathew
Frequent Advisor

Re: AWK Programming in Linux

First of all, this is the snippet that calls the WriteOps function:

WriteOps
fi >> ${Mill}_$Func.nc
ReadOpLine $((OpN+1)) $Stat

And this is the output with set -vx

+ WriteOps
SquD: bin/Milling[129]:0.00:unexpected '.'
SquD: bin/Milling[129]:0.00:unexpected '.'
+ ReadOpLine 2 1

The 129th line of Milling is the last line of code in the file and simply states 'fi'

Thanks for all your help
Stuart Browne
Honored Contributor

Re: AWK Programming in Linux

I don't suppose you'd be willing to provide all of this routine, so we can look at it from start-to-finish. we're just not getting enough information with the snippets you're providing.
One long-haired git at your service...
Samuel Mathew
Frequent Advisor

Re: AWK Programming in Linux

Stuart,
Sorry about that. I am attaching the full code of the routine that is giving the problem. I hope you the error that was coming which I had posted above. If you need any further input, I would be more than willing to give. IT is taking a lot of our time to transfer this script from HP-UX to Linux.
Thanks in advance.
Sam
Stuart Browne
Honored Contributor

Re: AWK Programming in Linux

Unfortunately, I can't see anything wrong with that script.

Modify the first line (#!/bin/ksh) to have a -x on the end of it, tne walk though to make sure each line gets the sorts of values you expect.
One long-haired git at your service...