Subtracting Variables which are commands


 
Thread Tools Search this Thread
Top Forums UNIX for Dummies Questions & Answers Subtracting Variables which are commands
# 1  
I have this idea.
I have a variable for the start of someones log in time,
(start=`who am i | cut -c30-34`)
and a variable for the log out time or present time,
(end=`date | cut -c12-16`)
but how do I go about subtracting them to get the total log in time.
I've tried adding a another variable total.
total=$end-$start, but that's just prints out everything in a numeric fashion.(2:30-2:10)
and if I use expr I get an error message saying "expr: non-numeric argument"

Now this seems simple but why won't this work.
Please Help.

theA
# 2  
This gets tricky because what if their login time is 2:59, and the logout time is 3:10. 3:10-2:59=? The shell doesn't know that you are trying to subtract times, it just sees numbers with a colon in the middle. A better way to do this might be to use the 'last' command, as one of the fields it provides is the total log in time.
# 3  
Using last is the better solution, but there needs to be some logic coded in. The problem is the case where the user has been logged in for more than 24 hours, last gives you something like:

chuckb xdmremote sunws6:0 Tue Mar 27 07:36 - 13:45 (2+06:08)

In this case I have been logged in for more 2 days, 6 hours and 8 minutes.
 

Previous Thread | Next Thread
Thread Tools Search this Thread
Search this Thread:
Advanced Search

Test Your Knowledge in Computers #275
Difficulty: Easy
OpenSolaris is the only version of the System V variant of UNIX available as open source.
True or False?

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

How to put variables commands in config files?

Hi All, Seeking for your assistance on how to put in variables all the commands in /bin config files: /home/test/config_file/config.cfg cat /home/test/config_file/config.cfg ECHO=/bin/echo LS=/bin/lsMain script cat test.sh source=/home/test/config_file/config.cfg ECHO=$ECHO LS=$LS#i... (3 Replies)
Discussion started by: znesotomayor
3 Replies

2. Shell Programming and Scripting

Variables into SED or AWK and multiple commands

Hello I am hoping you may help. I am not sure how to go about this exactly, I know the tools but not sure how to make them work together. I have two SED commands that I would like to run in a shell script. I would like to take the manual input of a user (types in when prompted) to be used... (4 Replies)
Discussion started by: lostincashe
4 Replies

3. Shell Programming and Scripting

Send Remote Commands via SSH with variables

Hi there I found the Command to send commands to other servers like: sv01> ssh user@sv02 'ps -ef' But I cant use Variables from a script i want to execute on another server like: sv01> ssh user@sv02 'cd $SCRIPTHOME' although the variable is set on sv01. How can I run commands on sv02 with... (2 Replies)
Discussion started by: DarkSwiss
2 Replies

4. Shell Programming and Scripting

Piping through commands read as variables from file

This is going to be part of a longer script with more features, but I have boiled it down to the one thing that is presently stumping me. The goal is a script which checks for updates to web pages that can be run as a cron job. The script reads (from a tab-delim file) a URL, an MD5 digest, and an... (1 Reply)
Discussion started by: fitzwilliam
1 Replies

5. Shell Programming and Scripting

Using variables within awk/sed commands

Can I use my own variables within awk and sed for example: I've written a while loop with a counter $i and I want to use the value of $i within sed and awk to edit certain lines of text within a data file. I want to use : sed '1s/$/texthere/g' data.csv Like this: sed '$is/$/$age/g' data.csv... (5 Replies)
Discussion started by: mustaine85
5 Replies

6. Shell Programming and Scripting

subtracting variables in ksh

hi all, how do i subract variables in shell ?? am trying to space out the headers and the output generated by the shell so they all line up : currently the output is like this : servers : users server1 : 10 latestServer : 50 so i thought... (3 Replies)
Discussion started by: cesarNZ
3 Replies

7. Shell Programming and Scripting

Storing commands in $variables.

Hi I'm trying to store commands in variables... like so.. # lastcmd=" $t1 | $t2 | $t3 | $t4 | sort | uniq" t1="sed -e 's/http:/<li><a href=\"http:/'" t2="sed -e 's/http:.*/&\">&<\/a>Web Link<br>/'" t3="sed -e 's/.*. mailto:/<li><a href=\"mailto:/'" t4="sed -e... (7 Replies)
Discussion started by: Paulw0t
7 Replies

8. Shell Programming and Scripting

Using variables in sed commands

Hi there, I need to be able to put the hostid of my box into a file (replacing the text "enter_hostid_here" so i tried sed -e 's/enter_hostid_here/`hostid`/g' inputfile > outputfile but it takes the `hostid` literally as text .....how can I get this info into the file (ideally in a single... (2 Replies)
Discussion started by: hcclnoodles
2 Replies

9. Shell Programming and Scripting

Referencing variables in commands

The script I am writing must be able to run several commands (tar, gzip etc) on filenames that are supplied by variables. I am unsure as to what syntax is required/ideal when referencing variables in filenames. The following is a sample command that I would like the script to execute: tar cvf... (3 Replies)
Discussion started by: mharley
3 Replies

10. UNIX for Dummies Questions & Answers

Subing Variables with commands.

Hi, I'm back! Ok, I'm trying to use a variable with a value of a unix command. So when I try a=`ls`, then echo $a I get the correct answer. But when I try it with a pipe: a=`ls | wc -c`, then echo $a I get: filename: a: command not found I've tried so many ways I presumme it's the pipe... (1 Reply)
Discussion started by: Astudent
1 Replies

Featured Tech Videos