One possible caveat to note is that the order in which these assignments are being made within a single simple command is not defined by the standards as far as I know, so if assignments are interdependent then I think it may be best to use separate simple commands.
For example:
will typically produce a=1 and b=1, but I do not think it is guaranteed by the standards. It might also be a=1 and b="", which would be the case if it is done right to left or in arbitrary order. Even though I have only come across implementations that go left to right.. ( Simple Commands )
Hi Scrutinizer,
The standards do guarantee it... From The Commands and Utilities Volume of the 2016 edition of the POSIX Standards:
Quote:
2.9.1 Simple Commands
A ‟simple command'' is a sequence of optional variable assignments and redirections, in any sequence, optionally followed by words and redirections, terminated by a control operator.
When a given simple command is required to be executed (that is, when any conditional construct such as an AND-OR list or a case statement has not bypassed the simple command), the following expansions, assignments, and redirections shall all be performed from the beginning of the command text to the end:
From the beginning ... to the end in shell scripts means left to right. (In some other places in the standard referring to text that could be from a language that is written from right to left, beginning to end means left to right for text that is written from left to right and it means right to left for text that is written from right to left.)
These 3 Users Gave Thanks to Don Cragun For This Post:
Halo,
Bash Script can get the time of process the trasaction or not?
For example, bash script use to procee the trasaction, like select and checking.. then generate the XML. after it, i need to get the time which to count the process.
Anyone can help me?
Thank you (1 Reply)
Hello,
I'm running a bash script and I'd like to get more accurate a runtime information then now.
So far I've been using this method:
STARTM=`date -u "+%s"`
.........
*script function....
.........
STOPM=`date -u "+%s"`
RUNTIMEM=`expr $STOPM - $STARTM`
if (($RUNTIMEM>59)); then... (6 Replies)
I need some help recovering from a "slight" screwup. We just moved 3 TB of data from one RAID Array to another. Low lever archive files. This was done with a regular cp (for some reason) and now we have lost all the timestamps on the files, and we urgently need to get the timestamps back on these... (7 Replies)
HI,
I have a file serverlist in that all host names are placed.
i have written a small script
#./testping
#! /bin/bash
for i in `cat serverlist`
do
ping $i >> output.txt
done
so now it creates a file output.txt till here fine..
now each time i run this script the output file... (4 Replies)
Hello,
I have a database file, named data.txt, and a shell script (convert.sh) to convert data.txt from columns to row. Output file name will be column_to_row.txt
In this example data.txt has only four rows.
Format of data.txt is:
info name surname telefon_nr
Data.txt
info boris... (1 Reply)
I ran this script yesterday (in the background)
/usr/bin/nohup myfilelocation/myscriptname.sh &
the script worked perfectly.
i ran it today (also in the background) and just sat there. So i killed it and ran it normally and it worked perfectly.
Anyone suggest why it just sat there and... (8 Replies)
Hi Again,
I have a file that contains date and time for the past 2 hours. What i need is add missing date and time in a file.
INPUT
2016-01-13 01:33 10
2016-01-13 01:31 10
2016-01-13 01:30 10
2016-01-13 01:29 10
2016-01-13 01:28 10
2016-01-13 01:27 10
2016-01-13 01:26 10
2016-01-13... (14 Replies)
Hi,
I have a bash script that generates CSV (.txt) files at fairly regular time intervals. I'm currently time stamping each batch of measurements at the time I write the rows into a MySQL database. As the result, one set of data might get the time 12:01:32 and the next set of data gets the time... (18 Replies)
I'm new to utilities like socat and netcat and I'm not clear if they will do what I need.
I have a "compileDeployStartWebServer.sh" script and a "StartBrowser.sh" script that are started by emacs/elisp at the same time in two different processes.
I'm using Cygwin bash on Windows 10.
My... (3 Replies)