summaryrefslogtreecommitdiffstats
path: root/adduser/adduser.sh
diff options
context:
space:
mode:
authorMike Makonnen <mtm@FreeBSD.org>2004-06-06 17:55:55 +0000
committerMike Makonnen <mtm@FreeBSD.org>2004-06-06 17:55:55 +0000
commit4328a7dd0badd93c60f736e301e187fb6b1d9b4b (patch)
treedcf879bbff512f921a8f6a2d8bf1aea72c502629 /adduser/adduser.sh
parent01dd9570002ca5134d7014ab6adce4b9c5989b07 (diff)
downloadpw-darwin-4328a7dd0badd93c60f736e301e187fb6b1d9b4b.tar.gz
pw-darwin-4328a7dd0badd93c60f736e301e187fb6b1d9b4b.tar.zst
pw-darwin-4328a7dd0badd93c60f736e301e187fb6b1d9b4b.zip
Accept full path names in addition to base names for shells.
Make explicit in the documentation that valid shells need to be supplied only if the -S option is not given.
Diffstat (limited to 'adduser/adduser.sh')
-rw-r--r--adduser/adduser.sh8
1 files changed, 5 insertions, 3 deletions
diff --git a/adduser/adduser.sh b/adduser/adduser.sh
index c04463d..7e21cb5 100644
--- a/adduser/adduser.sh
+++ b/adduser/adduser.sh
@@ -118,7 +118,8 @@ valid_shells() {
}
# fullpath_from_shell shell
-# Given $shell, the basename component of a valid shell, get the
+# Given $shell, which is either the full path to a shell or
+# the basename component of a valid shell, get the
# full path to the shell from the /etc/shells file.
#
fullpath_from_shell() {
@@ -131,7 +132,8 @@ fullpath_from_shell() {
\#*|'')
;;
*)
- if [ "`basename $_path`" = "$_shell" ]; then
+ if [ "$_path" = "$_shell" -o \
+ "`basename $_path`" = "$_shell" ]; then
echo $_path
return 0
fi
@@ -372,7 +374,7 @@ get_gecos() {
# get_shell
# Get the account's shell. Works in interactive and batch mode. It
-# accepts only the base name of the shell, NOT the full path.
+# accepts either the base name of the shell or the full path.
# If an invalid shell is entered it will simply use the default shell.
#
get_shell() {