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.
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)
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)
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)
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)
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)
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)
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)
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)
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)
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
LEARN ABOUT ULTRIX
date
date(1) General Commands Manual date(1)Name
date - print date and time
Syntax
date [-c | -u] [ +format ] [[yy[mm[dd]]]hhmm[.ss][-[-]tttt][z]]
Description
If no argument is given, or if the argument begins with +, the current date and time are printed. Otherwise, the current date is set. The
first mm is the month number; dd is the day number in the month; hh is the hour number (24 hour clock); the second mm is the minute number;
.ss the second; -[-]tttt is the minutes west of Greenwich; a positive number means your time zone is west of Greenwich (for example, North
and South America) and a negative number means it is east of Greenwich (for example Europe); z is a one letter code indicating the dst cor-
rection mode (n=none, u=usa, a=australian, w=western europe, m=middle europe, e=eastern europe); yy is the last 2 digits of the year number
and is optional. The following example sets the date to Oct 8, 12:45 AM:
date 10080045
The current year is the default if no year is mentioned. The system operates in GMT. The takes care of the conversion to and from local
standard and daylight time.
If the argument begins with +, the output of is under the control of the user. The format for the output is similar to that of the first
argument to All output fields are of fixed size (zero padded if necessary). Each field descriptor is preceded by % and is replaced in the
output by its corresponding value. A single % is encoded by %%. All other characters are copied to the output without change. The string
is always terminated with a new-line character.
Options-c Perform operations using Coordinated Universal Time (UCT) instead of the default local time. The UCT does not use leap seconds so
UCT is the same as GMT.
-u Perform operations using Greenwich Mean Time (GMT) instead of the default local time.
+ format
The following is a list of field Descriptors that can be used in the format (Note: date exits after processing format information) :
%a Locale's abbreviated weekday name
%A Locale's full weekday name
%b Locale's abbreviated month name
%B Locale's full month name
%c Locale's date and time representation
%d Day of month as a decimal number (01-31)
%D Date (%m/%d/%y)
%h Locale's abbreviated month name
%H Hour as a decimal number (00-23)
%I Hour as a decimal number (01-12)
%j Day of year (001-366)
%m Number of month (01-12)
%M Minute number (00-59)
%n Newline character
%p Locale's equivalent to AM or PM
%r Time in AM/PM notation
%S Second number (00-59)
%t Tab character
%T Time (%H/%M/%S)
%U Week number (00-53), Sunday as first day of week
%w Weekday number (0[Sunday]-6)
%W Week number (00-53), Monday as first day of week
%x Locale's date representation
%X Locale's time representation
%y Year without century (00-99)
%Y Year with century
%Z Timezone name, no characters if no timezone
%% %
Examples
The following command line
date +%m/%d/%y
generates the following output
04/02/89
The following command line
date +"DATE: %m/%d/%y%nTIME: %H:%M:%S"
generates the following output
DATE: 04/02/89
TIME: 14:45:05
The quotes (") are necessary because the format contains blank characters. Use single quotes (') to prevent interpretation by the shell.
Diagnostics
Failed to set date: Not owner
You are not the super-user and you tryed to change the date. Do not change the date while the system is running in multiuser mode.
Restrictions
An attempt to set a date to before 1/1/1970 will result in the date being set to 1/1/1970.
Files
/dev/kmem
date(1)