Sponsored Content
Top Forums Shell Programming and Scripting Bourne Shell - Problem with while loop variable scope. Post 302476444 by Corona688 on Wednesday 1st of December 2010 04:43:25 PM
Old 12-01-2010
Code:
#!/bin/sh

# substitute with last $username > /tmp/$$ on your system
cat > /tmp/$$ <<EOF
richards pts/4 s0106002215952e5 Wed Dec 1 14:04 still logged in
richards sshd s0106002215952e5 Wed Dec 1 14:04 still logged in
richards pts/4 s0106002215952e5 Wed Dec 1 12:02 - 13:03 (01:01)
richards sshd s0106002215952e5 Wed Dec 1 12:02 - 13:03 (01:01)
richards pts/3 s0106002215952e5 Tue Nov 30 21:29 - 23:28 (01:58)
richards sshd s0106002215952e5 Tue Nov 30 21:29 - 23:28 (01:58)
EOF

LOGINS=0
TOTALTIME=0

while read NAME T SESSION DAYNAME MON DAY TIMESTART DASH TIMEEND DURATION
do
	# Don't count SSH sessions
	[ "$T" == "sshd" ] && continue
	# Skip logged-in sessions
	[ "$DASH" == "still" ] && continue

	((LOGINS++))

	DURATION=${DURATION/(/}
	DURATION=${DURATION/)/}
	IFS=":" read HOURS MINS <<< "$DURATION"

	# Turn 05 into 105, so it doesn't think it's octal, ugh
	HOURS="1${HOURS}"
	MINS="1${MINS}"

	(( TOTALTIME += ((HOURS-100)*60)+(MINS-100) ))
done < /tmp/$$

HOURS=$((TOTALTIME/60))
MINS=$((TOTALTIME%60))

if [ "${HOURS}" -ge 1 ]
then
        echo "user logged in ${LOGINS} times for over an hour"
else
        echo "user logged in for ${MINS} minutes"
fi

rm -f /tmp/$$

 

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

if loop problem in bourne shell

how to use if-loop in bourne shell with multiple conditions like follows if then commands fi it gives me an error test: ] missing then i put if ] it gives me an error [[ not found kindly i need the syntex for the bourne shell (5 Replies)
Discussion started by: ahmad.diab
5 Replies

2. Shell Programming and Scripting

problem with shell variable's scope

Hi, I am stuck while developing a shell sub-routine which checks the log file for "success" or "failure". The subroutine reads the log file and checks for key word "success", if found it set the variable (found=1). It returns success or failure based on this variable. My problem is, I can... (2 Replies)
Discussion started by: cjjoy
2 Replies

3. Shell Programming and Scripting

while read loop; scope of variables (shell)

If I set a variable within a while-read loop, sometimes it's local to the loop, sometimes it's global, depending on how the loop is set up. I'm testing this on a Debian Lenny system using both bash and dash with the same results. For example: # Pipe command into while-read loop count= ls -1... (2 Replies)
Discussion started by: mjd_tech
2 Replies

4. Shell Programming and Scripting

scope of a Variable inside shell script

hi all, i'm using the following script, Status=1 Function_do () { while read line; do if ; then #echo $line if ; then Status=0 echo " LINKINK ERROR " fi fi done < ldd.log } Function_do (4 Replies)
Discussion started by: vij_krr
4 Replies

5. Shell Programming and Scripting

Help on "for" loop in bourne shell

Hello Everyone.... I am trying to print a number sequence in following format using for loop. I am using a bourne shell. I tried following for loop condition but it is bash syntax. for (( i=0; i<=5; i++ )) It is giving syntax error. Kindly help with the syntax of "for"... (7 Replies)
Discussion started by: EmbedUX
7 Replies

6. Shell Programming and Scripting

Bourne Shell - Dynamic Variable Error

hi, I am trying to assign a value through 'read' and all works well until I have a space in the in putted value, for the life of me I cant figure out how to escape this. :wall: Any ideas? #!/bin/sh ask_question() { question_text="${1}"; question_answer=""; ... (2 Replies)
Discussion started by: redback
2 Replies

7. Shell Programming and Scripting

Confusion about FOR LOOP syntax between Bourne and BASH shell. Please see.

for (( i=1; i<=3; i++ )); do for (( j=1; j<=3; j++ )); do for (( k=1; k<=3; k++ )); do echo $i$j$k done done done Will the above code work on a BOURNE shell? As far as my understanding is, if I am writing the above code in a file..say lol.sh and then running it through the terminal using... (7 Replies)
Discussion started by: navienavnav
7 Replies

8. Shell Programming and Scripting

Save awk record field in bourne shell variable

Hello, I am trying to write a shell script that maintains the health of the passwd file. The goal is to check for duplicate usernames, UID's etc. I am able to find and sort out the UID and login names via awk (which I would like to use), but I can't figure out how to save the record field into a... (1 Reply)
Discussion started by: Learn4Life
1 Replies

9. Shell Programming and Scripting

For loop in bourne shell is not working

I have a loop with cases I am working on Bourne shell for file in *.${Today}*.csv *.${Today}*.txt\ do case ${file} in sun_detail) do something ;; sum) do something ;; mod) do something ;; *) do something ;; (5 Replies)
Discussion started by: digioleg54
5 Replies

10. UNIX for Beginners Questions & Answers

Bash Variable scope - while loop while reading from a file

Cope sample1: test.sh i=0 echo " Outside loop i = $i " while do i=$(( $i + 1)) echo "Inside loop i = $i " done echo " Out of loop i is : $i " When run output : Outside loop i = 0 Inside loop i = 1 Inside loop i = 2 Inside loop i = 3 Inside loop i = 4 Inside loop i = 5 Inside... (8 Replies)
Discussion started by: Adarshreddy01
8 Replies
gvfs-save(1)							   User Commands						      gvfs-save(1)

NAME
gvfs-save - save information to a file using the VFS system SYNOPSIS
gvfs-save [-b] [-c] [-a] [-p] [-v] [-e] URI DESCRIPTION
gvfs-save saves information to a file using the VFS system. OPTIONS
The following options are supported: -b Create backup -c Only create if not existing -a Append to end of the file -p When creating a file, restrict access to the current user only -v Print etag that the end -e The etag of the file being overwritting EXAMPLES
Example 1: Append a string to the end of a local file example% echo "hello" | gvfs-save file:///tmp/example Example 2: Append a file to a remote file storing a backup example% gvfs-cat file:///tmp/file | gvfs-save -b smb://server/dir/file ENVIRONMENT VARIABLES
See environ(5) for descriptions of the following environment variables: NLSPATH. EXIT STATUS
The exit value 0 is returned regardless of success or failure. FILES
The following files are used by this application: /usr/bin/gvfs-save Executable to save information to a file using the VFS system ATTRIBUTES
See attributes(5) for descriptions of the following attributes: +-----------------------------+-----------------------------+ | ATTRIBUTE TYPE | ATTRIBUTE VALUE | +-----------------------------+-----------------------------+ |Availability |SUNWgnome-gvfs | +-----------------------------+-----------------------------+ |Interface stability |Volatile | +-----------------------------+-----------------------------+ SEE ALSO
gvfs-copy(1), gvfs-cat(1), gvfs-less(1), gvfs-ls(1), gvfs-mkdir(1) gvfs-monitor-dir(1), gvfs-monitor-file(1), gvfs-mount(1), gvfs-move(1), gvfs-rename(1), gvfs-open(1), gvfs-rm(1), gvfs-info(1), gvfs-trash(1), gvfs-tree(1), attributes(5), environ(5) NOTES
Written by Alvaro Lopez Ortega, Sun Microsystems Inc., 2008. SunOS 5.11 25 Mar 2008 gvfs-save(1)
All times are GMT -4. The time now is 10:54 PM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy