Sponsored Content
Full Discussion: Check existence of a login
Top Forums UNIX for Advanced & Expert Users Check existence of a login Post 302172149 by fpmurphy on Sunday 2nd of March 2008 09:40:35 PM
Old 03-02-2008
Quote:
So the shell knows whether a user exists or not... the question is how?
No, in general, a shell does not know whether a particular user exists or not. The operating system may know that information.

As for tilde expansion, here is the relevant section from ksh93 s+.
Code:
/*
 * This routine is used to resolve ~ expansion.
 * A ~ by itself is replaced with the users login directory.
 * A ~- is replaced by the previous working directory in shell.
 * A ~+ is replaced by the present working directory in shell.
 * If ~name  is replaced with login directory of name.
 * If string doesn't start with ~ or ~... not found then 0 returned.
 */

static char *sh_tilde(register const char *string)
{
        register char           *cp;
        register int            c;
        register struct passwd  *pw;
        register Namval_t *np=0;
        static Dt_t *logins_tree;
        if(*string++!='~')
                return(NIL(char*));
        if((c = *string)==0)
        {
                if(!(cp=nv_getval(nv_scoped(HOME))))
                        cp = getlogin();
                return(cp);
        }
        if((c=='-' || c=='+') && string[1]==0)
        {
                if(c=='+')
                        cp = nv_getval(nv_scoped(PWDNOD));
                else
                        cp = nv_getval(nv_scoped(OLDPWDNOD));
                return(cp);
        }
        if(logins_tree && (np=nv_search(string,logins_tree,0)))
                return(nv_getval(np));
        if(!(pw = getpwnam(string)))
                return(NIL(char*));
        if(!logins_tree)
                logins_tree = dtopen(&_Nvdisc,Dtbag);
        if(np=nv_search(string,logins_tree,NV_ADD))
                nv_putval(np, pw->pw_dir,0);
        return(pw->pw_dir);
}

 

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

check for FILES existence

hi, I have a list of filenames and I want to verify if they all exist. I know "if filename" would do the trick but how do I go about a list of files? thanks (3 Replies)
Discussion started by: mpang_
3 Replies

2. UNIX for Dummies Questions & Answers

Variable check for existence ?

Hi , I have a script wherein i have a For Loop. Within this for loop i create a variable and assign it a value. The script goes to a For Loop only if certain conditions are met , which means the variable may or may not exists. However down the line in the script i have to check if that... (2 Replies)
Discussion started by: samit_9999
2 Replies

3. Programming

C function to test existence of a login

Hi everybody, I need to check in C program whether a given login is known on the system. Is there any system function that could do this ? So far, all I could find is getpwnam(), which answers my problem by parsing the local password database. But won't work if a user is authenticated by... (2 Replies)
Discussion started by: xavier054
2 Replies

4. AIX

check for file existence

Hello I am having a requirement like if there is no file in the directory then i need a message to pop on after the execution of the script. My script basically does for File in `ls -t $DIRECTORY | tail -1`; if there is no file the DIRECTORY then the script is simply exiting with out... (2 Replies)
Discussion started by: dsdev_123
2 Replies

5. AIX

Check for File Existence

I have requirement where i need to search for files which start with SALESORDER and PURCHASEORDER. i need to process the files with SALESORDER first and then PURCHASEORDER. If SALESORDER files are not there i dont want to process PURCHASEORDER and i want to come out of script. I have written a code... (4 Replies)
Discussion started by: dsdev_123
4 Replies

6. Shell Programming and Scripting

check existence of the path

Hi How can I check if the path exist or not? echo "Enter path:"; read my_path; ##I should check whether my_path exists or not.... (5 Replies)
Discussion started by: tjay83
5 Replies

7. Shell Programming and Scripting

How to check for file existence?

i want to check if the file is in the directory or not, and also it should be handle error conditions, like missing files and report the error and exit. i did something like this: file ="hello" if !test -e "${file}" then echo "No such files exist!" exit 1 else do something....... fi ... (1 Reply)
Discussion started by: mingming88
1 Replies

8. UNIX for Dummies Questions & Answers

To check for existence of a file

I need to check for the existence of a file *.log in a specific directory using a perl script. Presently am not in that particular directory. So i am using chdir ("/path/to/my/file) And then i am using the -e in an if statement to check if it exists. if (-e $File) {......} $File contains the... (1 Reply)
Discussion started by: manutd
1 Replies

9. Shell Programming and Scripting

Check the Files existence

Hi I have a requirement to check whether the files exists, then it will call other steps in shell script. I did ls *.csv|wc -l if then checking the count of the files should be more than 1 then it will call other steps. I am getting the error that too many arguements as there n... (13 Replies)
Discussion started by: cnrj
13 Replies

10. Shell Programming and Scripting

File existence check

hi i wanted to check if the file exist or not(multiple files) DIRE=/home/V478 if ; then echo "file present" else echo "file not present" fi But i am getting the error as : [: unexpected operator/operand (3 Replies)
Discussion started by: ATWC
3 Replies
All times are GMT -4. The time now is 11:23 PM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy