使用linux下的shell编程,创建 /home/my.sh 文件,实现以下功能: 在 /home 目录下创建班级名称目录,名称为:21大数据B班 创建用户账号(账号名为学生的姓名拼音全拼,如余希铨的拼音全拼为 yuxiquan),默认密码为 123456,用户主目录为 /home/21大数据B班/余希铨,全名为余希铨 通过输入参数形式实现,如 sh my.sh 21大数据B班 余希铨 yuxiquam 10001 将1、2二步使用函数方式进行封装,函数名分别为 func_createFolder、func_createUser
时间: 2024-02-18 20:04:53 浏览: 133
好的,根据您的要求,以下是 /home/my.sh 文件的内容:
```
#!/bin/bash
# 创建班级目录
function func_createFolder() {
cd /home/
mkdir $1
}
# 创建用户账号
function func_createUser() {
username=$(echo $2 | tr '[:upper:]' '[:lower:]')
useradd -d /home/$1/$username -m -s /bin/bash -c $2 $3
echo "$3:123456" | chpasswd
}
# 主程序
func_createFolder $1
func_createUser $1 $2 $3
```
该脚本可以通过以下命令运行:
```
sh my.sh 21大数据B班 余希铨 yuxiquam 10001
```
其中,第一个参数为班级名称,第二个参数为学生姓名,第三个参数为账号名,第四个参数为学生学号。执行该脚本后,会在 /home 目录下创建班级名称目录,并在该目录下创建用户名为账号名的用户账号,用户主目录为 /home/21大数据B班/余希铨,用户密码为 123456,用户全名为学生姓名。
相关问题
使用linux下的shell编程,创建 /home/my.sh 文件,实现以下功能: 在 /home 目录下创建班级名称目录,名称为:21大数据B班 创建用户账号(账号名为学生的姓名拼音全拼,如张三的拼音全拼为 zhangsan),默认密码为 123456,用户主目录为 /home/21大数据B班/张三,全名为张三 通过输入参数形式实现,如 sh my.sh 21大数据B班 张三 zhangsan 10001 将1、2二步使用函数方式进行封装,函数名分别为 func_createFolder、func_createUser
好的,我明白了,以下是实现的代码:
```bash
#!/bin/bash
# 创建班级目录函数
function func_createFolder() {
cd /home/
mkdir $1
}
# 创建用户函数
function func_createUser() {
user=$3
password="123456"
uid=$4
cd /home/$1/
mkdir $2
useradd -m -d /home/$1/$2 -s /bin/bash -p $(echo $password | openssl passwd -1 -stdin) -u $uid $user
echo "$user:$password" | chpasswd
chown -R $user:$user /home/$1/$2
}
# 判断参数个数是否正确
if [ $# -ne 4 ]; then
echo "参数个数不正确,正确格式为:sh my.sh 【班级名】 【学生姓名】 【学生拼音全拼】 【学生uid】"
exit 1
fi
# 调用函数创建班级目录和用户
func_createFolder $1
func_createUser $1 $2 $3 $4
echo "创建成功!"
```
可以通过以下命令来运行脚本:
```bash
sh my.sh 21大数据B班 张三 zhangsan 10001
```
其中,第一个参数为班级名,第二个参数为学生姓名,第三个参数为学生拼音全拼,第四个参数为学生uid。
使用linux下的shell编程,创建 /home/my.sh 文件,实现以下功能: 1、在 /home 目录下创建班级名称目录,名称为:21大数据C班 2、创建用户账号(账号名为学生的姓名拼音全拼,如张三的拼音全拼为 zhangsan),默认密码为 123456,用户主目录为 /home/21大数据C班/张三,全名为张三 3、通过输入参数形式实现,如 sh my.sh 21大数据C班 张三 zhangsan 10001 4、将1、2二步使用函数方式进行封装,函数名分别为 func_createFolder、func_createUser
以下是实现功能的代码:
```shell
#!/bin/bash
# 创建班级目录
function func_createFolder() {
cd /home
mkdir "$1"
}
# 创建用户账号
function func_createUser() {
cd /home/"$1"
useradd "$2" -m -s /bin/bash -c "$3"
echo "$2:123456" | chpasswd
}
# 主程序
if [ $# -eq 3 ]; then
func_createFolder "$1"
func_createUser "$1" "$2" "$3"
else
echo "Usage: sh my.sh <班级名称> <学生姓名> <学生拼音> <学生学号>"
fi
```
使用方法:
1. 将以上代码保存为 /home/my.sh 文件。
2. 在终端中执行命令 `chmod +x /home/my.sh`,赋予脚本执行权限。
3. 执行命令 `sh /home/my.sh 21大数据C班 张三 zhangsan`,即可创建班级目录和用户账号。
如果需要添加学生学号参数,只需要修改判断语句和函数定义,具体代码见下:
```shell
#!/bin/bash
# 创建班级目录
function func_createFolder() {
cd /home
mkdir "$1"
}
# 创建用户账号
function func_createUser() {
cd /home/"$1"
useradd "$2" -m -s /bin/bash -c "$3"
echo "$2:123456" | chpasswd
}
# 主程序
if [ $# -eq 4 ]; then
name=$2
pinyin=$3
id=$4
folder="$1/$name"
full_name="$name($pinyin)"
func_createFolder "$1"
func_createUser "$folder" "$pinyin" "$full_name ($id)"
else
echo "Usage: sh my.sh <班级名称> <学生姓名> <学生拼音> <学生学号>"
fi
```
使用方法:
1. 将以上代码保存为 /home/my.sh 文件。
2. 在终端中执行命令 `chmod +x /home/my.sh`,赋予脚本执行权限。
3. 执行命令 `sh /home/my.sh 21大数据C班 张三 zhangsan 10001`,即可创建班级目录和用户账号。
阅读全文