11-10-2009
Problem with for loop in bash
I'm trying to do a script where I want to see if all users home directories are only writable by owner. However, in my script I do not know how to implement the for loop so that all directories are checked. In mine, I am only checking the permissions for the first directory found. I do know that a for loop is needed. Appreciate any advice given
Quote:
#!/usr/bin/bash
clear
DIR=`awk -F: '{ print $6 }' /etc/passwd | uniq -u`
VAR=`ls -ld $DIR | awk '{ print $1 }'`
echo $DIR
echo $VAR
G=${VAR:5:1}
O=${VAR:8:1}
if [ "$G" == "-" ] && [ "$O"=="-" ] #success
then
echo "Directory only writable by owner"
fi
10 More Discussions You Might Find Interesting
1. Shell Programming and Scripting
I'm just trying to make a script that runs in command line to echo each line in a text file. Everything i found on google is telling me to do it like this but when I run it it just echos removethese.txt and thats it. Anyone know what im doing wrong?
for i in removethese.txt; do echo $i; done
... (4 Replies)
Discussion started by: kingdbag
4 Replies
2. Shell Programming and Scripting
Hi,
I'm having a problem with the while loop in bash. I try the following script:
#!/bin/bash
while true
do
echo "test"
done
When I try this, it gives me this error:
while: Too few arguments.
What am I doing wrong?
Thanks (5 Replies)
Discussion started by: Kweekwom
5 Replies
3. Shell Programming and Scripting
Hi,
I use AIX (ksh) and Linux (bash) servers. I'm trying to do scripts to will run in both ksh and bash, and most of the time it works. But this time I don't get it in bash (I'm more familar in ksh).
The goal of my script if to read a "config file" (like "ini" file), and make various report.... (2 Replies)
Discussion started by: estienne
2 Replies
4. Shell Programming and Scripting
I have file named script1 as follows:
#!/bin/bash
count="0"
echo "hello"
echo "$count"
while
do
echo "$count"
count=`expr $count + 1`
done
-----------
when I run it, I get
./script1: line 9: syntax error near unexpected token `done'
./script1: line 9: `done'
I... (6 Replies)
Discussion started by: npatwardhan
6 Replies
5. Shell Programming and Scripting
hi
i was trying to optimize one script and i came across this problem .. i am putting some pseudo code here
$ >cat a.sh
ls | while read I
do
i=$(($i + 1))
done
echo "total no of files : "
$ >ksh a.sh
total no of files :
$ >bash a.sh
total no of files :
why is... (1 Reply)
Discussion started by: zedex
1 Replies
6. Shell Programming and Scripting
I'm trying to understand if it's possible to create a set of variables that are numbered based on another variable (using eval) in a loop, and then call on it before the loop ends.
As an example I've written a script called question (The fist command is to show what is the contents of the... (2 Replies)
Discussion started by: DeCoTwc
2 Replies
7. Shell Programming and Scripting
Hi all
Sorry for the basic question, but i am writing a shell script to get around a slightly flaky binary that ships with one of our servers. This particular utility randomly generates the correct information and could work first time or may work on the 12th or 100th attempt etc !.... (4 Replies)
Discussion started by: rethink
4 Replies
8. Shell Programming and Scripting
Below is a test script I was trying to use so that I could understand why the logic was not working in a larger script. While accessing and printing array data inside the while loop, everything is fine. Outside the loop, i guess everything is null?? The for loop that is meant to cycle... (4 Replies)
Discussion started by: adlmostwanted
4 Replies
9. Shell Programming and Scripting
Hello,
I have a script that runs a series of commands. Halfway through the script, I want it to check whether everything is going alright: if it is, to proceed with the script, if it isn't to repeat the last step until it gets it right.
My code so far looks like this, simplified a bit:
... (3 Replies)
Discussion started by: Leo_Boon
3 Replies
10. UNIX for Dummies Questions & Answers
Hello,
I am trying to create a matrix of 0's and 1's depending on whether a gene and sample name are found in the same line in a file called results.txt. An example of the results.txt file is (tab-delimited):
Sample1 Gene1 ## Gene2 ##
Sample2 Gene2 ## Gene 4 ##
Sample3 Gene3 ... (2 Replies)
Discussion started by: InfoSeeker2
2 Replies
LEARN ABOUT REDHAT
upslog
UPSLOG(8) Network UPS Tools (NUT) UPSLOG(8)
NAME
upslog - UPS status logger
SYNOPSIS
upslog -h
upslog ups logfile interval [format]
DESCRIPTION
upslog is a daemon that will poll a UPS at periodic intervals, fetch the variables that interest you, format them, and write them to a
file.
The default format string includes variables that are supported by many common UPS models. See the description below to make your own.
OPTIONS
-h Display the help message.
ups Monitor this UPS. The format for this option is [upsname@]hostname[:port].
logfile
Store the results in this file.
You can use - for stdout, but upslog will remain in the foreground.
interval
Wait this many seconds between polls.
Remember that a poll is not instantaneous, so it will slip back as the program runs. If you require tighter timing, you should
write your own logger using the upsclient library.
format The string to log, including variables from the UPS. Valid escapes within this string are:
%% - insert a single %
%TIME format% - insert the time with strftime formatting
%ETIME% - insert the number of seconds, ala time_t. This is now a 10 digit number.
%HOST% - insert the local hostname
%UPSHOST% - insert the host of the UPS being monitored
%PID% - insert the pid of upslog
%VAR varname% - insert the value of variable varname
The default format string is:
%TIME @Y@m@d @H@M@S% %VAR battpct% %VAR utility% %VAR loadpct% [%VAR status%] %VAR upstemp% %VAR acfreq%
SERVICE DELAYS
The interval value is merely the number given to sleep() after running through the format string. Therefore, a query will actually take
slightly longer than the interval depending on the speed of your system.
LOG ROTATION
upslog writes its pid to upslog.pid, and will reopen the log file if you send it a SIGHUP. This allows it to keep running when the log is
rotated by an external program.
SEE ALSO
Server:
upsd(8)
Clients:
upsc(8), upscmd(8), upsrw(8), upsmon(8)
Internet resources:
The NUT (Network UPS Tools) home page: http://www.exploits.org/nut/
NUT mailing list archives and information: http://lists.exploits.org/
Wed Oct 16 2002 UPSLOG(8)