LinuxQuestions.org
Latest LQ Deal: Latest LQ Deals
Home Forums Tutorials Articles Register
Go Back   LinuxQuestions.org > Forums > Non-*NIX Forums > Programming
User Name
Password
Programming This forum is for all programming questions.
The question does not have to be directly related to Linux and any language is fair game.

Notices


Reply
  Search this Thread
Old 09-04-2004, 10:03 PM   #1
seanatis
LQ Newbie
 
Registered: Sep 2004
Posts: 4

Rep: Reputation: 0
bash login script


Hi, I am very new at bash scripting, and I was looking for a script that tells me the # of times I have logged in. Specifically one that uses a counter. Anyone out there have something like that, that I could look at?

Thanks,

Sean
 
Old 09-04-2004, 10:26 PM   #2
b0ng
LQ Newbie
 
Registered: Aug 2004
Location: Location??? Where I am is top secret, if I tell you, I have to kill you.
Distribution: College, Slack
Posts: 24

Rep: Reputation: 15
Ugh.... I could write something in perl, not bash. Though you could just look in .bash_history and it should be in there.

If not let me know, and I will come up with a quick perl script, for it.
 
Old 09-05-2004, 12:48 AM   #3
Dark_Helmet
Senior Member
 
Registered: Jan 2003
Posts: 2,786

Rep: Reputation: 374Reputation: 374Reputation: 374Reputation: 374
The .bash_history file contains a list of the previous commands executed. I don't know if it contains any login information; I would have to double-check.

If you'd like to count how many times you have logged in since deciding to keep track of it, then this is one way to do it:

1. Edit your ~/.bash_profile to include this:
Code:
counter_file="~/.login_counter"
if [ -e ${counter_file} ] ; then
  expr $( cat ${counter_file} ) + 1 > ${counter_file}
else
  echo 1 > ${counter_file}
fi
unset counter_file
2. When you want to know how many times you've logged in, execute this command (or set up an alias):
Code:
cat ~/.login_counter

Last edited by Dark_Helmet; 09-05-2004 at 12:50 AM.
 
Old 09-05-2004, 01:07 AM   #4
indian
Member
 
Registered: Aug 2004
Posts: 137

Rep: Reputation: 15
The main idea is that u will make a file in ur home directory and u will put a counter in it.Everytime when ever u will login than All the scripts written in .bash_profile will be executed.So open the counter file..increment the counter and than print the counter and than close it.
 
Old 09-05-2004, 08:30 AM   #5
seanatis
LQ Newbie
 
Registered: Sep 2004
Posts: 4

Original Poster
Rep: Reputation: 0
That script worked really well, thanks. Now I need an explanation on the following. I have read on many bash script HOW-TO sites that if you want to put multiple commands on one line, separate them with a ";"

echo -n "You have logged in: " ; cat .login_counter ; echo "times"

All the text except for "times" shows up on the same line.

You have logged in: 5
times

I also tried echo -n. That doesn't work either!
What am I doing wrong?

Sean

Last edited by seanatis; 09-05-2004 at 08:39 AM.
 
Old 09-05-2004, 01:34 PM   #6
Dark_Helmet
Senior Member
 
Registered: Jan 2003
Posts: 2,786

Rep: Reputation: 374Reputation: 374Reputation: 374Reputation: 374
The problem is with the cat command in the middle. cat will add a newline when it reaches the end of the file. You can fix it with this:
Code:
echo -n "You have logged in "; echo -n $( cat ~/.login_counter ); echo "times"
I'm assuming you're using that to create an alias. Otherwise, it's the same as three commands on three separate lines.

If this is part of a script, then it can be done a bit more cleanly using a variable
 
Old 09-06-2004, 08:00 AM   #7
seanatis
LQ Newbie
 
Registered: Sep 2004
Posts: 4

Original Poster
Rep: Reputation: 0
Exactly what I was looking for. Thanks!
 
  


Reply



Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is Off
HTML code is Off



Similar Threads
Thread Thread Starter Forum Replies Last Post
bash login script bunnyknight13 Linux - Newbie 4 09-10-2004 08:02 PM
Run script at login instead of bash uzi4u Linux - General 2 04-28-2004 02:31 PM
Trying to execute bash script upon login?? mr-d-2003 Linux - Newbie 4 10-30-2003 03:15 PM
webmin,cron and bash login script colesen Linux - Software 0 08-12-2003 07:36 PM
How logout from login-menu bash script? MikHud Linux - General 0 04-12-2002 12:01 PM

LinuxQuestions.org > Forums > Non-*NIX Forums > Programming

All times are GMT -5. The time now is 03:21 PM.

Main Menu
Advertisement
My LQ
Write for LQ
LinuxQuestions.org is looking for people interested in writing Editorials, Articles, Reviews, and more. If you'd like to contribute content, let us know.
Main Menu
Syndicate
RSS1  Latest Threads
RSS1  LQ News
Twitter: @linuxquestions
Open Source Consulting | Domain Registration