Sponsored Content
Top Forums Shell Programming and Scripting [Basic Query]bsh script in tcsh shell Post 302540218 by Skrynesaver on Wednesday 20th of July 2011 04:01:13 AM
Old 07-20-2011
The "shebang" line is not an ordinary comment (btw do you mean #! /bin/bash)
It instructs the shell that executes the script which interpreter to call on the script when it is the first line of the script.

The value you exit from a script sets $? in the parent shell, this can be used to "report" an error in the running of the script to the parent or to make decisions based on the exit status.

A facile example which checks for the existence of the user in /etc/passwd before running the useradd program.
Code:
seterr.sh
8<------->8
#!/bin/bash
exit 1

verified_useradd.sh
8<--------------------------->8
#!/bin/bash
found_user=$(grep -e  "^$1:" /etc/passwd)
if [ "X$found_user" == "X" ] ; then
    # no such user in /etc/passwd yet
    /usr/sbin/useradd $i
    exit 0
else
    echo "User $i exists, please retry with a new user name"
    exit 1
fi


new_user
8<-------->8
seterr.sh
while [ $? -ne 0 ] ;do 
   echo "Please priovide a username"; 
   read uname; 
   verified_useradd.sh uname;  
done

In the example above the while loop will continue until verified_useradd.sh returns with no error, thus guaranteeing a user has been added (or at least that useradd was called
 

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

A basic query

In a Bourne shell script, I often come across statements involving `sh -c`. I was not able to make out if any reason is there behind that. example: echo `sh -c 'date'` killing all server processes Instead of the above, I can use echo `date` killing all server processes. Is there any... (1 Reply)
Discussion started by: asutoshch
1 Replies

2. Shell Programming and Scripting

Basic Shell script syntax help

Hi All, I am new to shell scripting. I have a variable which holds a numeric value.I have to check whether this variable holds a value between(0- 8),(8-17)(17-24).How do i write this syntax using if in shell scripting. Thanks Vignesh (2 Replies)
Discussion started by: vignesh53
2 Replies

3. SCO

Bsh shell on SCO

I everybody! I am trying to install the bsh shell on a SCO unix and i don't know how. The deal is that i have an old SCO unix running with an old system made with cobol, so it works with shell menus and it use a variety of a shell called bsh (Business Shell) so i search for a package to install... (5 Replies)
Discussion started by: martocapo
5 Replies

4. Shell Programming and Scripting

shell script basic doubt

hi, I am new script learner, so my basic doubt is , how to store value of any command in a variable example $ ls | wc -l i want to stote the output of this in a variable c. so that i can use c in if else loop. and when do we use " ` " symbol in script.. can anyone also tell for... (5 Replies)
Discussion started by: hi2_t
5 Replies

5. Shell Programming and Scripting

Query Oracle tables and return values to shell script that calls the query

Hi, I have a requirement as below which needs to be done viz UNIX shell script (1) I have to connect to an Oracle database (2) Exexute "SELECT field_status from table 1" query on one of the tables. (3) Based on the result that I get from point (2), I have to update another table in the... (6 Replies)
Discussion started by: balaeswari
6 Replies

6. Shell Programming and Scripting

Basic Shell Script Help

Lets say I wanted to create a script that would show what people are doing on my machine using the w command and refresh in about 6 seconds. What would be the easiest way to do this? I pretty much want the script to loop until I stop it. I'm using the BASH shell by the way. Help is appreciated.... (1 Reply)
Discussion started by: c4391
1 Replies

7. Shell Programming and Scripting

Basic shell script help

Im trying to make a script that simply adds a word to the last available line in a txt file without overwriting any previous lines. Ive googled this and there are great examples but no one explain what each function does, and i dont entirely understand how it works. Basically Im looking for... (7 Replies)
Discussion started by: kylecn
7 Replies

8. Shell Programming and Scripting

tcsh env setting using shell script

Hi All, I have made a file file usercreate.sh & it has to run in tcsh env & needs some path to be set. my script is as below. ########################## #!/bin/csh setenv PATH "/usr/lib/java/class" setenv LD_LIBRARAY_PATH ########################### but when i am ruuning my script... (1 Reply)
Discussion started by: ajaincv
1 Replies

9. Shell Programming and Scripting

Shell Script to execute Oracle query taking input from a file to form query

Hi, I need to query Oracle database for 100 users. I have these 100 users in a file. I need a shell script which would read this User file (one user at a time) & query database. For instance: USER CITY --------- ---------- A CITY_A B CITY_B C ... (2 Replies)
Discussion started by: DevendraG
2 Replies

10. Shell Programming and Scripting

Help! Basic shell script advice

##### (2 Replies)
Discussion started by: AidoPotato
2 Replies
useradd(8)						      System Manager's Manual							useradd(8)

NAME
useradd - create a new user account SYNOPSIS
useradd [-D binddn] [-P path] [-c comment] [-d homedir] [-e expire] [-f inactive] [-G group,...] [-g gid] [-m [-k skeldir]] [-o] [-p password] [-u uid] [-U umask] [-r] [-s shell] [--service service] [--help] [--usage] [-v] [--preferred-uid uid] account useradd --show-defaults useradd --save-defaults [-d homedir] [-e expire] [-f inactive] [-g gid] [-G group,...] [-k skeldir] [-U umask] [-s shell] DESCRIPTION
useradd creates a new user account using the default values from /etc/default/useradd and the specified on the command line. Depending on the command line options the new account will be added to the system files or LDAP database, the home directory will be created and the initial default files and directories will be copied. The account name must begin with an alphabetic character and the rest of the string should be from the POSIX portable character class ([A- Za-z_][A-Za-z0-9_-.]*[A-Za-z0-9_-.$]). OPTIONS
-c, --comment comment This option specifies the users finger information. -d, --home homedir This option specifies the users home directory. If not specified, the default from /etc/default/useradd is used. -e, --expire expire With this option the date when the account will be expired can be changed. expiredate has to be specified as number of days since January 1st, 1970. The date may also be expressed in the format YYYY-MM-DD. If not specified, the default from /etc/default/useradd is used. -f, --inactive inactive This option is used to set the number of days of inactivity after a password has expired before the account is locked. A user whose account is locked must contact the system administrator before being able to use the account again. A value of -1 disables this feature. If not specified, the default from /etc/default/useradd is used. -G, --groups group,... With this option a list of supplementary groups can be specified, which the user should become a member of. Each group is separated from the next one only by a comma, without whitespace. If not specified, the default from /etc/default/useradd is used. -g, --gid gid The group name or number of the user's main group. The group name or number must refer to an already existing group. If not speci- fied, the default from /etc/default/useradd is used. -k, --skel skeldir Specify an alternative skel directory. This option is only valid, if the home directory for the new user should be created, too. If not specified, the default from /etc/default/useradd or /etc/skel is used. -m, --create-home Create home directory for new user account. -o, --non-unique Allow duplicate (non-unique) User IDs. -p, --password password Encrypted password as returned by crypt(3) for the new account. The default is to disable the account. -U, --umask umask The permission mask is initialized to this value. It is used by useradd for creating new home directories. The default is taken from /etc/default/useradd. -u, --uid uid Force the new userid to be the given number. This value must be positive and unique. The default is to use the first free ID after the greatest used one. The range from which the user ID is chosen can be specified in /etc/login.defs. --preferred-uid uid Set the new userid to the specified value if possible. If that value is already in use the first free ID will be chosen as described above. -r, --system Create a system account. A system account is an user with an UID between SYSTEM_UID_MIN and SYSTEM_UID_MAX as defined in /etc/login.defs, if no UID is specified. The GROUPS entry in /etc/default/useradd is ignored, too. -s, --shell shell Specify user's login shell. The default for normal user accounts is taken from /etc/default/useradd, the default for system accounts is /bin/false. --service service Add the account to a special directory. The default is files, but ldap is also valid. -D, --binddn binddn Use the Distinguished Name binddn to bind to the LDAP directory. The user will be prompted for a password for simple authentica- tion. -P, --path path The passwd and shadow files are located below the specified directory path. useradd will use this files, not /etc/passwd and /etc/shadow. --help Print a list of valid options with a short description. --usage Print a short list of valid options. -v, --version Print the version number and exit. FILES
/etc/passwd - user account information /etc/shadow - shadow user account information /etc/group - group information /etc/default/useradd - default values for account creation /etc/skel - directory containing default files SEE ALSO
passwd(1), login.defs(5), passwd(5), shadow(5), userdel(8), usermod(8) AUTHOR
Thorsten Kukuk <kukuk@suse.de> pwdutils May 2010 useradd(8)
All times are GMT -4. The time now is 06:54 AM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy