Sponsored Content
Top Forums Shell Programming and Scripting Do something only that last iteration of loop Post 302770096 by Corona688 on Thursday 14th of February 2013 12:15:16 PM
Old 02-14-2013
If it's something you only do once, it t really belong in a function you call 10,000 times. Do it before the loop.

This is especially true since the value of `date` may change if your script takes a long time to finish! Even if it doesn't, you're running date 10,000 times when all you needed was to run it once. Save it into a variable.

What is this if [ $2 ] ? I suspect that doesn't do what you think it does.

Code:
DATE=`date`

function() {
        echo asdf
}

mkdir mydir_${DATE}

while ...
do
        function ...
done

 

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

New iteration of for-loop without incrementing?

Another question, is it possible to, in a for-loop incrementing until it reaches a certain number, to have it loop again without incrementing? Just have it drop what it is doing when it reaches this command and start again at the same number it was at? I know I could make a while loop and just... (0 Replies)
Discussion started by: jeriryan87
0 Replies

2. Shell Programming and Scripting

Pick up the return code for every iteration and display the result only once in loop.

Hi All, I amlearning UNIX scripting. I have a small query. I would be thankful if any one helps me out. I have a below piece of code which delets the files. If file dosent have the permissions to delete a particular file I have used 2>>operator to track the error code. But my objective is... (1 Reply)
Discussion started by: manas6
1 Replies

3. Shell Programming and Scripting

howto stop loop iteration

I wonder how to stop further loop iterations when conditions gets false e.g. This file.txt contains the following structure : 1 2 3 4 5 6 7 8 9 10 How to stop iteration when if statement gets false ? for n in `cat file.txt` do if (( n<=5 )) (1 Reply)
Discussion started by: presul
1 Replies

4. Shell Programming and Scripting

for loop iteration and shell programming startup

question :how can i iterate to next item in for loop with the loop e.g for i in `cat abc.txt` do echo $i // this will display first line i=$i+1; // this doesnt work for me. echo $i; //this will display secound line done question: is my approach to manipulate text good? I have... (3 Replies)
Discussion started by: kashif_islam
3 Replies

5. Shell Programming and Scripting

while loop stops after first iteration - remote ssh exit command problem?

I have written the following script to update some Debian boxes. #!/bin/bash mxg_hosts_file="/etc/mxg/ssh-hosts" while read line ; do mxg_host="$(echo ${line} | awk -F":" '{print $1}')" mxg_port="$(echo ${line} | awk -F":" '{print $2}')" echo "Connecting and Upgrading... (3 Replies)
Discussion started by: jelloir
3 Replies

6. Shell Programming and Scripting

For Loop in shellscript - Printing Output for every iteration

for VGLIST in `lsvg -o` do CLOSED_OUT=`echo $VGLIST | lsvg -l $VGLIST | awk '{print $6 " " $7}' | grep closed` if ]; then echo "Filesystems $CLOSED_OUT in VG that are in Closed status" else echo "\n Some message" fi Above Code is working fine, but echo "Filesystems $CLOSED_OUT... (8 Replies)
Discussion started by: chandu123
8 Replies

7. Shell Programming and Scripting

Getting the iteration count in WHILE LOOP

bash in RHEL 6.4 I have a requirement in which I want to get the iteration count from a WHILE LOOP. The below mentioned simple script test.sh works fine. In the below script, the WHILE loop will iterate every 5 seconds infinitely until it greps the string BASKETBALL from /tmp/somestring.txt... (6 Replies)
Discussion started by: John K
6 Replies

8. Shell Programming and Scripting

While loop is causing ssh command to exit from script after first iteration.

I am trying to check multiple server's "uptime" in a loop over "ssh". When I execute multiple ssh commands with hard coded servernames script is executing fine. But when I pass server names using while loop, script is exiting after checking first server's status, why? # serverList... (8 Replies)
Discussion started by: kchinnam
8 Replies

9. Shell Programming and Scripting

Loop iteration with two variables

Hello, I have been stuck on this for some time and invested many hours trying to find a solution. I am trying to either loop through two variables or or two arrays and not sure how to do it. I am limited to ksh only, and don't have the ability to do a foreach, or for i AND for j etc...I... (19 Replies)
Discussion started by: Decoy Octopus88
19 Replies

10. Shell Programming and Scripting

While loop is running only for the first iteration

Hello, I've written a script to automate encoding of all the MP4 files in a directory (incl. subdirectories). But unfortunately it's running for the first MP4 file only. My machine details: root@Ubuntu16:~# uname -a Linux Ubuntu16 4.10.0-28-generic #32~16.04.2-Ubuntu SMP Thu Jul 20 10:19:48... (2 Replies)
Discussion started by: prvnrk
2 Replies
DATE(1) 						    BSD General Commands Manual 						   DATE(1)

NAME
date -- display or set date and time SYNOPSIS
date [-ajnu] [-d date] [-r seconds] [+format] [[[[[[CC]yy]mm]dd]HH]MM[.SS]] DESCRIPTION
date displays the current date and time when invoked without arguments. Providing arguments will format the date and time in a user-defined way or set the date. Only the superuser may set the date. The options are as follows: -a Use adjtime(2) to change the local system time slowly, maintaining it as a monotonically increasing function. -a implies -n. -d date Parse the provided human-described date and time and display the result without actually changing the system clock. (See parsedate(3) for examples.) -j Parse the provided canonical representation of date and time (described below) and display the result without actually changing the system clock. -n The utility timed(8) is used to synchronize the clocks on groups of machines. By default, if timed is running, date will set the time on all of the machines in the local group. The -n option stops date from setting the time for other than the current machine. -r seconds Print out the date and time that is seconds from the Epoch. -u Display or set the date in UTC (universal) time. An operand with a leading plus (+) sign signals a user-defined format string which specifies the format in which to display the date and time. The format string may contain any of the conversion specifications described in the strftime(3) manual page, as well as any arbitrary text. A <newline> character is always output after the characters specified by the format string. The format string for the default display is: %a %b %e %H:%M:%S %Z %Y If an operand does not have a leading plus sign, it is interpreted as a value for setting the system's notion of the current date and time. The canonical representation for setting the date and time is: CC The first two digits of the year (the century). yy The second two digits of the year. If yy is specified, but CC is not, a value for yy between 69 and 99 results in a CC value of 19. Otherwise, a CC value of 20 is used. mm The month of the year, from 01 to 12. dd The day of the month, from 01 to 31. HH The hour of the day, from 00 to 23. MM The minute of the hour, from 00 to 59. SS The second of the minute, from 00 to 61. Everything but the minutes is optional. Time changes for Daylight Saving and Standard time and leap seconds and years are handled automatically. ENVIRONMENT
The following environment variables affect the execution of date: TZ The timezone to use when displaying dates. See environ(7) for more information. FILES
/etc/localtime Symlink pointing to system's default timezone information file in /usr/share/zoneinfo directory. /var/log/wtmp A record of date resets and time changes. /var/log/messages A record of the user setting the time. EXAMPLES
The command: date '+DATE: %m/%d/%y%nTIME: %H:%M:%S' will display: DATE: 11/21/87 TIME: 13:36:16 The command: date 8506131627 sets the date to ``June 13, 1985, 4:27 PM''. The command: date 1432 sets the time to 2:32 PM, without modifying the date. DIAGNOSTICS
Exit status is 0 on success, 1 if unable to set the date, and 2 if able to set the local date, but unable to set it globally. Occasionally, when timed(8) synchronizes the time on many hosts, the setting of a new time value may require more than a few seconds. On these occasions, date prints: 'Network time being set'. The message 'Communication error with timed' occurs when the communication between date and timed fails. SEE ALSO
adjtime(2), gettimeofday(2), settimeofday(2), parsedate(3), strftime(3), utmp(5), timed(8) R. Gusella and S. Zatti, TSP: The Time Synchronization Protocol for UNIX 4.3BSD. STANDARDS
The date utility is expected to be compatible with IEEE Std 1003.2 (``POSIX.2''). BSD
November 15, 2006 BSD
All times are GMT -4. The time now is 07:53 PM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy