SlackwareThis Forum is for the discussion of Slackware Linux.
Notices
Welcome to LinuxQuestions.org, a friendly and active Linux Community.
You are currently viewing LQ as a guest. By joining our community you will have the ability to post topics, receive our newsletter, use the advanced search, subscribe to threads and access many other special features. Registration is quick, simple and absolutely free. Join our community today!
Note that registered members see fewer ads, and ContentLink is completely disabled once you log in.
If you have any problems with the registration process or your account login, please contact us. If you need to reset your password, click here.
Having a problem logging in? Please visit this page to clear all LQ-related cookies.
Get a virtual cloud desktop with the Linux distro that you want in less than five minutes with Shells! With over 10 pre-installed distros to choose from, the worry-free installation life is here! Whether you are a digital nomad or just looking for flexibility, Shells can put your Linux machine on the device that you want to use.
Exclusive for LQ members, get up to 45% off per month. Click here for more info.
#!/bin/sh
# adduser script for use with shadow passwords and useradd command.
# by Hrvoje Dogan <hdogan@student.math.hr>, Dec 1995.
# Modified by Patrick Volkerding, Oct 1997, Mar 1999, May 2000.
echo
echo -n "Login name for new user []: "
read LOGIN
if [ -z "$LOGIN" ]; then
echo "Come on, man, you can't leave the login field empty..."
exit
fi
echo
echo -n "User id for $LOGIN [ defaults to next available]: "
read ID
GUID="-u $ID"
if [ -z "$ID" ]; then
GUID=""
fi
echo
echo -n "Initial group for $LOGIN [users]: "
read GID
if [ -z "$GID" ]; then
GID="users"
fi
GGID="-g $GID"
echo
echo "Additional groups for $LOGIN (seperated"
echo -n "with commas, no spaces) []: "
read AGID
GAGID="-G $AGID"
if [ -z "$AGID" ]; then
GAGID=""
fi
echo
echo -n "$LOGIN's home directory [/home/$LOGIN]: "
read HME
if [ -z "$HME" ]; then
HME="/home/$LOGIN"
fi
GHME="-d $HME"
echo
echo -n "$LOGIN's shell [/bin/bash]: "
read SHL
GSHL="-s $SHL"
if [ -z "$SHL" ]; then
GSHL="-s /bin/bash"
SHL="/bin/bash"
fi
echo
echo -n "$LOGIN's account expiry date (YYYY-MM-DD) []: "
read EXP
GEXP="-e $EXP"
if [ -z "$EXP" ]; then
GEXP=""
fi
echo
echo "OK, I'm about to make a new account. Here's what you entered so far:"
echo
echo New login name: $LOGIN
if [ -z "$GUID" ]; then
echo New UID: [Next available]
else
echo New UID: $UID
fi
if [ -z "$GGID" ]; then
echo Initial group: users
else
echo Initial group: $GID
fi
if [ -z "$GAGID" ]; then
echo Additional groups: [none]
else
echo Additional groups: $AGID
fi
if [ -z "$GHME" ]; then
echo Home directory: /home/$LOGIN
else
echo Home directory: $HME
fi
if [ -z "$GSHL" ]; then
echo Shell: /bin/bash
else
echo Shell: $SHL
fi
if [ -z "$GEXP" ]; then
echo Expiry date: [no expiration]
else
echo Expiry date: $EXP
fi
echo
echo "This is it... if you want to bail out, hit Control-C. Otherwise, press"
echo "ENTER to go ahead and make the account."
read FOO
echo
echo Making new account...
/usr/sbin/useradd $GHME -m $GEXP $GGID $GAGID $GSHL $GUID $LOGIN
if [ -d $HME ]; then
chmod 711 $HME
fi
echo
/usr/bin/chfn $LOGIN
echo
/usr/bin/passwd $LOGIN
echo "Done..."
Should have copied before installing Redhat huh.. Just kidding.
ok now how do i integrate it into the shell i went to /bin/ and created a file and copied the contents...but it only works when i sh it? how do i make it a command like ls or mv
Originally posted by roofy ok now how do i integrate it into the shell i went to /bin/ and created a file and copied the contents...but it only works when i sh it? how do i make it a command like ls or mv
in DOS you make a script by changing the .TXT to .BAT... in *nix it's just a matter of giving it execute permission... i like it a lot!!
note: the #!/bin/sh at the beginning tells the system what to run it with, in this case /bin/sh is a symlink to /bin/bash. after all it's a bash script, yes? perl scripts start with #!/bin/perl or #!/usr/bin/perl or something and python is the same way... if you're in bash and you try to run a perl script that has no #!/bin/nnn, bash will probably try to run it (it's your shell!) and choke on the syntax, anyone want to confirm that?
LinuxQuestions.org is looking for people interested in writing
Editorials, Articles, Reviews, and more. If you'd like to contribute
content, let us know.