I generally avoid eval, but have you considered making your shell script more like your C++ code?
The while loops in the above script could be simplified to for loops that are accepted by many shells (including recent versions of bash and ksh) but they are extensions to the standards and, therefore, not available in several shells. The above code just uses standard utility interfaces and shell language constructs. For shells that accept these extensions, the below code looks even more like your C++ code.
Note that both of these script write their error messages to the standard error output instead of to standard output and both of these script print the argument numbers of the first found pair of identical argument in their diagnostics.
Maybe the entire code could be condensed down to (tested with bash --posix)
Thank you for your reply.
The code is not POSIX shell compliant. POSIX shell has not arrays, and not this kind of for loop.
I am in the half of my introductory POSIX shell book, so there are a lot of things I do not know.
But there is this. In POSIX shell all data are strings, and strings are a kind of array.
Here is an example:
--- Post updated at 02:27 PM ---
Thank you for your reply.
Quote:
Originally Posted by Don Cragun
I generally avoid eval, but have you considered making your shell script more like your C++ code?
I do not know anything about set yet.
Quote:
I do not know anything about eval yet.
Quote:
The while loops in the above script could be simplified to for loops that are accepted by many shells (including recent versions of bash and ksh) but they are extensions to the standards and, therefore, not available in several shells. The above code just uses standard utility interfaces and shell language constructs. For shells that accept these extensions, the below code looks even more like your C++ code.
Note that both of these script write their error messages to the standard error output instead of to standard output and both of these script print the argument numbers of the first found pair of identical argument in their diagnostics.
OK, thank you for your reply. There are things that I do not know yet, and I will keep them in mind.
For now, I think the code I posted works OK.
Last edited by johnprogrammer; 02-07-2019 at 08:47 AM..
Good morning all,
This is the file name in question OD_Orders_2019-02-19.csv
I am trying to create a bash script to read into files with yesterdays date on the file name while retaining the rest of the files name. I would like for $y to equal, the name of the file with a formula output with... (2 Replies)
I have a .xml file that looks something like this :
<measInfo>
.........
string1
.........
</measInfo>
<measInfo>
......
string2
........
</measInfo>
I want to extract only the 'chunk of file' from '<measInfo>' to '</measInfo>' containing string1 (or a certain string that I... (13 Replies)
Hello ,
When using vim, can ctag and cscope support recording search results and displaying the history results ? Once I jump to one tag, I can use :tnext to jump to next tag, but how can I display the preview search result? (0 Replies)
Upon replacing my linux router/server with a Solaris one I've noticed very poor network performance. The server itself has no issues connecting to the net, but clients using the server as a router are getting a lot of IP fragments as indicated from some packet sniffing I conducted.
Here was my... (3 Replies)
For some reason ipfilter is blocking inbound fragmented ip packets (the packets are larger than the interface's MTU) that are encapsulating UDP segments. The connection works, so I know ipfilter is letting some traffic through, it is just a lot slower than it should be.
Rules that allow the... (3 Replies)
Discussion started by: ilikecows
3 Replies
7. Post Here to Contact Site Administrators and Moderators
Hi guys!
I was wondering what the outcome was of your survey of a few months ago? One of the questions was if people were willing to pay for additional services like an own account, like username@unix.com with mail box, etc.
Sorry if I missed the results if you had already posted them.
Ivo (1 Reply)
When discussing inodes and data blocks, I know Solaris creates these data blocks with a total size of 8192b, divided into eight 1024b "fragments." It stores data in "contiguous" fragments and solaris doesn't allow a file to use portions of two different fragments. If the file size permits, then the... (4 Replies)