Sponsored Content
Full Discussion: if statement problem
Top Forums Shell Programming and Scripting if statement problem Post 302578501 by ADay2Long on Thursday 1st of December 2011 05:44:24 PM
Old 12-01-2011
if statement problem

Writing my script and I'm banging my head on the desk right now ...

My biggest problem is the 3rd IF statement where I check if the username exists. Doing the grep command on it's own in the shell gives me a 1 or 0 value. Running the script, it always returns a false value (runs the ELSE statement) and if I change the IF to != 0 I always get a true value. Help?

Code:
#! /bin/bash

if [[ $HOME == /root ]] #check if you are root
then
        if [[ -f /etc/passwd ]] #check if password file exists
        then
                echo "Enter username"
                read username
                        #until [ $username = "done" ]
                        #do
                                if [[ 'grep -c "$username" /etc/passwd' = "1" ]] #check if username exists
                                then
                                        grep "$username" /etc/passwd
                                        grep "$username" /etc/shadow
                                        grep "$username" /etc/group
                                else
                                        echo "$username not found"
                                fi
                        #echo "Enter username"
                        #read username
                        #done
        else
                echo "Password file not present"
        fi
else
        echo "You must be root to run this script"
fi

 

10 More Discussions You Might Find Interesting

1. UNIX for Dummies Questions & Answers

if statement problem

I keep getting an error at line 21, it doesn't like my if statement. Previously I have tried using (( )), but still get errors. The current error is that server_busy is not found. This is the script: #! /bin/ksh server_busy="na" for file in $1 $2 $3 $4 $5 $6 do echo " ${file}\t\c" ... (1 Reply)
Discussion started by: coughlin74
1 Replies

2. Shell Programming and Scripting

problem with an IF statement

I need an IF statement that will compare the contents of the variable CX with the actual string "CP". ie. If the contents of $CX are NOT equal to the actual string "CP" then blah blah blah. I have tried a number of things including the following....... if ]; then if ]; then if ];... (2 Replies)
Discussion started by: hcclnoodles
2 Replies

3. UNIX for Dummies Questions & Answers

if statement problem

hi all. i just have a very small problem. i have a menu of 7 choices. i want an if statement so that if the user chooses anything except inside the 1 to 7 range, i can handle the error for it. i tried this: if ] then ....... fi (but it dont work) ...any suggestions? ... (4 Replies)
Discussion started by: djt0506
4 Replies

4. Shell Programming and Scripting

If Statement Problem..

The problem I am having here is that only the 1st option is executed, no matter if I pick yes or no. What am I doing wrong? How can I get this working right without resorting to a case statement? echo "This is the max size your lvol can be:" echo $MAXSIZE echo echo Do you want to max out... (2 Replies)
Discussion started by: LinuxRacr
2 Replies

5. UNIX for Dummies Questions & Answers

if statement problem

See https://www.unix.com/shell-programming-scripting/96846-if-statement-problem.html (0 Replies)
Discussion started by: f_o_555
0 Replies

6. Shell Programming and Scripting

if statement problem

Hi I have a bash script like this if then echo "A" else echo "B" fi $1 is something like 02350 (there is always a trailing '0') and I would like to have an if based on the value of the digits after the 0. Can anybody help? Thanks, Sarah (3 Replies)
Discussion started by: f_o_555
3 Replies

7. UNIX for Dummies Questions & Answers

Having problem with if statement

Could someone help me out with this if statement? It's supposed to get a person's website, but it isn't working when I run it. website="" echo "Would you like to enter a website? Enter Yes/No" read choice if then while do echo "Please enter a website:"; read... (4 Replies)
Discussion started by: Sotau
4 Replies

8. Shell Programming and Scripting

while statement problem

Hi, Here is a big head scratcher for me.... I'm creating a loop with while reading lines from a file called example.txt: #!/bin/sh while read line do some command > another file ----- output to another file done < example.txt I would like that another file to be unique for every... (5 Replies)
Discussion started by: svetoslav_sj
5 Replies

9. Shell Programming and Scripting

Problem if statement

echo "Enter the variable: " " read var1 echo " " for i in ib eb atm do if ; then mv properties environment.properties break else echo "No changes to $var1 " fi done When i run and enter the eb it's not working.Any suggestions please.. (7 Replies)
Discussion started by: bhas85
7 Replies

10. UNIX for Beginners Questions & Answers

Problem with If statement

Hi All, I am writing an if statement to check multiple conditions, but when I try to execute the script it is breaking at the point of if statement by showing the issue below. Code I am using is given below. if -a ] then .... else ... fi I am not understanding... (3 Replies)
Discussion started by: ginrkf
3 Replies
Authen::Simple::DBI(3pm)				User Contributed Perl Documentation				  Authen::Simple::DBI(3pm)

NAME
Authen::Simple::DBI - Simple DBI authentication SYNOPSIS
use Authen::Simple::DBI; my $dbi = Authen::Simple::DBI->new( dsn => 'dbi:SQLite:dbname=database.db', statement => 'SELECT password FROM users WHERE username = ?' ); if ( $dbi->authenticate( $username, $password ) ) { # successfull authentication } # or as a mod_perl Authen handler PerlModule Apache::DBI PerlModule Authen::Simple::Apache PerlModule Authen::Simple::DBI PerlSetVar AuthenSimpleDBI_dsn "dbi:SQLite:dbname=database.db" PerlSetVar AuthenSimpleDBI_statement "SELECT password FROM users WHERE username = ?" <Location /protected> PerlAuthenHandler Authen::Simple::DBI AuthType Basic AuthName "Protected Area" Require valid-user </Location> DESCRIPTION
DBI authentication. METHODS
* new This method takes a hash of parameters. The following options are valid: * dsn Database Source Name. Required. dsn => 'dbi:SQLite:dbname=database.db' dsn => 'dbi:mysql:database=database;host=localhost;' * statement SQL statement. The statement must take a single string argument (username) and return a single value (password). Required. statement => 'SELECT password FROM users WHERE username = ?' * username Database username. username => 'username' * password Database password. password => 'secret' * log Any object that supports "debug", "info", "error" and "warn". log => Log::Log4perl->get_logger('Authen::Simple::DBI') * authenticate( $username, $password ) Returns true on success and false on failure. SEE ALSO
Authen::Simple. Authen::Simple::Password. DBI. AUTHOR
Christian Hansen "ch@ngmedia.com" COPYRIGHT
This program is free software, you can redistribute it and/or modify it under the same terms as Perl itself. perl v5.8.8 2008-02-29 Authen::Simple::DBI(3pm)
All times are GMT -4. The time now is 04:55 AM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy