利用LInux shell命令行及脚本编辑登录系统

Linux shell命令行及脚本的前景是非常广阔的,随着信息技术和云计算的不断发展,Linux系统的应用也越来越广泛,特别是在服务器、网络设备和嵌入式系统等领域。

首先,Linux shell命令行是Linux系统的核心组成部分,它为用户提供了强大的控制和自动化能力。用户可以通过shell命令行来管理系统资源、执行各种命令和程序,以及进行文件操作和文本处理等。随着云计算和大数据技术的不断发展,对于系统管理和自动化的需求也越来越高,因此,掌握Linux shell命令行技术将成为IT从业者的必备技能之一。

其次,Linux shell脚本是一种强大的自动化工具,它可以帮助用户自动化地完成各种重复性和繁琐的任务。通过编写shell脚本,用户可以一次性地执行多个命令和程序,从而大大提高工作效率。同时,shell脚本还可以用于系统监控、日志分析、数据备份等方面,为系统管理员和运维工程师提供了极大的便利。

在未来的发展中,随着云计算、大数据、人工智能等技术的不断发展和普及,Linux系统的应用也将越来越广泛。同时,随着企业对于自动化和智能化的需求不断提高,对于Linux shell命令行及脚本技术的需求也将不断增加。因此,掌握Linux shell命令行及脚本技术将具有很大的职业前景和发展空间。

总之,Linux shell命令行及脚本技术的前景是非常广阔的,掌握这些技术将有助于提高个人的职业竞争力和职业发展前景。

实验:Shell编程登录系统

一、实验目的

1.熟悉整个linux操作系统,了解关于shell脚本的编写与运行。

2.自动化任务:

自动化脚本通常需要以特定用户的身份运行,以获取该用户权限下的资源或执行特权操作。例如,你可能需要登录为 root 用户来执行系统级的任务,如安装软件包、配置网络或管理用户账户。

3.安全性:

使用 Shell 脚本登录系统可以确保脚本以特定用户身份执行,这有助于限制潜在的安全风险。例如,你可能不希望以 root 用户身份直接执行所有任务,而是希望以非特权用户身份运行脚本,并在需要时通过 sudo 命令提升权限。

通过 Shell 脚本登录还可以实施更复杂的身份验证和授权机制

4.远程管理:

Shell 脚本经常用于远程管理系统,如通过 SSH 连接到远程服务器并执行命令。在这种情况下,登录到远程系统是脚本执行的前提。远程登录脚本可以自动化执行诸如备份、监控、更新等任务,而无需物理或手动访问远程服务器

二、环境准备

1.准备一个空白文件夹编写实验所需代码。

2.基本菜单的编写(主要包括1.用户注册2.用户登录3.退出等三部分)show_menu() {

echo "1. 注册用户"

echo "2. 用户登录"

echo "3. 退出"

}

#主函数

main() {

    while true; do

        show_menu

        read -p "请输入选项: " option

        case $option in

            1) register;;

            2) login;;

            3) break;;

            *) echo "选项不正确,请重新输入! ";;

        esac

     done

     echo "退出系统! "

}

#启动主函数

main                  

3.开始注册(注册函数的编写)

(1)输入用户名(以大写字母开头)并判断用户是否存在

#注册函数

register() {

        echo "开始注册: "

        read -p "请输入用户名 (以大写字母开头) : " username

 #判断用户名是否已经存在

        if grep -q "^${username} :" $USER_FILE; then

                echo "用户名已经存在, 请重新注册! "

                return

        fi

(2)输入用户密码(8为及以上并包含$或&等特殊字符)并判断密码格式是否正确。

 read -s -p "请输入用户密码 (8位及以上且包含&或$符号) : " password

         #判断密码格式是否正确

        if [[ ${#password} -lt 8 ]] || ! echo "$password" | grep -q '[&$]'; then

                echo "密码格式不正确,请重新注册! "

                return

        fi

(3)输入用户手机号(必须以139开头)并判断手机格式是否正确

 read -p "请输入用户手机 (以139开头) : " phone

 #判断手机格式是否正确

        if ! echo "$phone" | grep -q '^139[0-9]\{8\}$'; then

                echo "手机号格式不正确,请重新注册! "

                return

        fi

(4)输入用户邮箱号(必须为qq邮箱)并判断邮箱格式是否正确

 read -p "请输入用户邮箱 (必须为qq邮箱) : " email

 #判断邮箱格式是否正确

        if ! echo "$email" | grep -q '@qq.com$'; then

                echo "邮箱格式不正确,请重新注册! "

                return

        fi

(5)将用户信息保存写入文件中

 #将用户信息写入文件

        echo "${username}:${password}:${phone}:${email}" >> $USER_FILE

        echo "注册成功! "

}

(6)登录程序(并判断账号与密码是否正确)

login() {

    echo "开始登录: "

    read -p "请输入用户名: " username

    read -s -p "请输入密码: " password

    #判断用户名和密码是否匹配

    if grep -q "^${username}:${password}:" $USER_FILE; then

        echo "登录成功! "

    else

        echo "用户名或密码错误,请重新登录! "

    fi

}

三、实验结果的运行

1.运行菜单的测试

2.用户注册

显示注册成功则表示代码编写完成

3.用户登录

输入密码后显示登录成功即可。

4.退出

5、错误结果演示-注册阶段

(1)创建用户名未使用首字母开头

(2)密码设置未包含特殊字符

(3)手机号注册未使用139开头

(4)邮箱注册未使用QQ邮箱

6、错误演示-登录阶段

总结:

用户登录系统是计算机系统中非常基础和重要的一个部分,通过使用shell编程可以实现用户登录系统的功能。具体实现包括以下几个方面:

1.用户名和密码的验证:在用户输入用户名和密码后,需要对其进行验证,可以通过在shell脚本中使用if语句实现。

2.用户权限管理:不同的用户需要有不同的权限,可以通过在shell脚本中使用chmod命令来实现权限管理。

3.用户界面设计:用户登录界面需要友好、简洁,可以使用shell脚本来编写交互式的登录界面。

4.安全性考虑:在用户登录系统中需

  • 33
    点赞
  • 25
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

放情

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值