Linux的shell编写

-eq           //等于
-ne           //不等于
-gt            //大于
-lt            //小于
ge            //大于等于
le            //小于等于

实验中遇到的问题:
1.NAME=user1 中间不能有空格
2.[ xxx ] xxx前面和后面要有空格


任务1:使用case语句编写shell程序
1、由用户从键盘输入一个字符,并判断该字符是否为字母、数字或者其他字符, 并输出相应的提示信息。
代码:
#!/bin/bash
read -p "press some key ,then press return :" KEY
case $KEY in
[a-z]|[A-Z])
echo "It's a letter."
;;
[0-9]) 
echo "It's a digit."
;;
*)
echo "It's function keys、Spacebar or other ksys."
esac
2、判断在执行程序时所输入的参数,符合相应条件,输出相对应的信息
#!/bin/bash
case $1 instart | begin)echo "start something";;stop | end)echo "stop something";;*)echo "Ignorant";;
esac3、判断当前系统属于哪种操作系统,并执行相应分支的输出语句
#!/bin/bashSYSTEM=`uname -s` case $SYSTEM in Linux) echo "My system is Linux" echo "Do Linux stuff here..." ;; FreeBSD) echo "My system is FreeBSD" echo "Do FreeBSD stuff here..." ;; *) echo "Unknown system : $SYSTEM" echo "I don't what to do..." ;; esac

结果:
1和2
在这里插入图片描述
在这里插入图片描述

任务2:使用if语句编写shell脚本
1、使用if判断语句添加用户
NAME=user1
if  id $NAME &> /dev/null ; thenecho "$NAME is exist."elseuseradd $NAMEecho "$NAME" | passwd --stdin $NAME &> /dev/nullecho "$NAME is add sucessful"fi
2、如果用户已存在,显示已存在,则删除此用户并删除此用户的家目录,并提示删除成功;如果不存在,提示用户不存在。
#!/bin/bash
NAME=user1if ! id $NAME &> /dev/null ; thenecho "The $NAME is not exist."elseuserdel -r $NAME &> /dev/nullecho "The $NAME is del successful."fi
3、给定一个用户,如果其UID为0,就显示此为管理员;否则,就显示其为普通用户;
#!/bin/bash
read -p "please input username:" NAME
NAMEID=`id -u $NAME`
if [ $NAMEID -eq 0 ]; thenecho "The $NAME is root."
elseecho "The $NAME is common."
fi
4、输入分数,60分以下显示失败,60-80分显示good,81-100分显示nice。
#!/bin/bash
read -p "please input your score:" score
if [ "$score" -ge 0 -a "$score" -le 60 ];thenecho "fail"
elif [ "$score" -gt 60 -a "$score" -le 80 ];thenecho "GOOD! "
elif [ "$score" -gt 80 -a "$score" -le 100 ];thenecho "Nice"
elseecho "wrong score"
fi

结果:
1.创建用户:
这样是创建了一个用户名为空的用户:

在这里插入图片描述
这样是创建了一个用户名为zhengjunsong的用户:
在这里插入图片描述
2.删除用户
把刚才的用户名为空的用户删掉:
在这里插入图片描述
3.给定一个用户,如果其UID为0,就显示此为管理员;否则,就显示其为普通用户;
在这里插入图片描述
4.输入分数,60分以下显示失败,60-80分显示good,81-100分显示nice。
在这里插入图片描述
在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/358332.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

rest spring_Spring的REST服务发现性,第5部分

rest spring这是关于使用Spring 3.1和Spring Security 3.1和基于Java的配置来建立安全的RESTful Web Service的系列文章的第五篇。 上一篇文章介绍了RESTful服务HATEOAS的可发现性的概念,然后介绍了一些由测试驱动的实际方案。 本文将重点介绍可发现性的实际实现以及…

为啥这么多程序员大佬学习Cortex-M3

Cortex-M3是一个32位处理器内核。内部的数据路径是32位的,寄存器是32位的,存储器接口也是32位的。CM3采用了哈佛结构,拥有独立的指令总线和数据总线,可以让取指与数据访问并行不悖。这样一来数据访问不再占用指令总线,…

Ffuf使用教程

kali安装教程链接:https://www.iculture.cc/cybersecurity/pig210 该工具用途广泛,可用于多种用途。一些用途: • 目录发现,可选择在 URL 中的任何位置进行模糊测试。 • 子域名发现 • 使用各种 HTTP 方法进行模糊测试。 安装 …

PHP中的__toString方法(实现JS里的链式操作)

_toString方法是在打印对象时自动调用的魔术方法,如果不声明会报以下错 Catchable fatal error: Object of class String could not be converted to 示例: PHP里有很多的字符串函数,假如要先过滤字符首尾的空格,再求出字符串的长度,一般会这么写:strlen(trim($str));如果要实…

如何有效地使用反射

本文是我们名为“ 高级Java ”的学院课程的一部分。 本课程旨在帮助您最有效地使用Java。 它讨论了高级主题,包括对象创建,并发,序列化,反射等。 它将指导您完成Java掌握的过程! 在这里查看 ! 目录 1.简…

从字符串 const str = ‘qwbewrbbeqqbbbweebbbbqee‘;中能得到结果 [“b“, “bb“, “bbb“, “bbbb“] 以下错误语句是?

从字符串 const str qwbewrbbeqqbbbweebbbbqee;中能得到结果 ["b", "bb", "bbb", "bbbb"] 以下错误语句是?(B) A.str.match(/b/g) B.str.match(/b*/g) C.str.match(/b{1,4}/g) D.str.match(/b{1,5}/g) 解析&#xff1…

Burp Collaborator 使用总结

0x00:使用原因 我们在做渗透测试的时候,经常会遇到这种情况,测试跨站可能有些功能插入恶意脚本后无法立即触发,例如提交反馈表单,需要等管理员打开查看提交信息时才会触发,或者是盲注跨站,盲打 …

安装phpssdb扩展:

安装 igbinary 扩展(安装phpssdb扩展时候要用到--enable-ssdb-igbinary): clone https://github.com/igbinary/igbinary.git 安装phpssdb 扩展 :git clone https://github.com/jonnywang/phpssdb.git ; phpssdb 安装文档:https://github.com/jon…

在HTML中嵌入PHP代码,有以下几种方法,其中错误的是( )

在HTML中嵌入PHP代码&#xff0c;有以下几种方法&#xff0c;其中错误的是&#xff08; D&#xff09; A.以”<?php开头&#xff0c;以“?>”结束&#xff0c;中间为PHP代码。 B.以<script language“php”>开头&#xff0c;</script> 结束&#xff0c;中…

各大src地址

一、目录&#xff08;以下排名不分先后&#xff09; 1.360安全应急响应中心&#xff08;360SRC&#xff09;&#xff0d;http://security.360.cn/ 2.联想安全应急响应中心&#xff08;LSRC&#xff09;&#xff0d;http://lsrc.lenovo.com/ 3.腾讯安全应急响应中心&#xff…

文本”Hello, world.”显示的颜色是?

文本”Hello, world.”显示的颜色是? <style> #content .text {text-color:red;} #content>.title {color:green;} #content div.title {font-color:blue;} strong {font-color:yellow;} * {color:black;} </style> <div id"content"> <…

jrockit_1.6下载_Oracle JRockit Mission Control 4.1发布

jrockit_1.6下载Oracle发布了以前的仅JRockit专用工具Mission Control Suite&#xff08;JRMC&#xff09;的新版本。 4.1版本是次要版本升级&#xff0c;直接遵循4.0.1&#xff08;该版本发布于2010年中期&#xff09;。 但是&#xff0c;即使版本号表明是次要的升级&#xff…

dnslog盲注原理

Dnslog盲注原理 布尔盲注和时间盲注相当于猜单词的游戏&#xff0c;我们需要对每一位逐步的猜测&#xff0c;效率很低&#xff0c;需要发送很多的请求进行判断&#xff0c;很可能会触发安全设备的防护 我们需要一种方式能够减少请求&#xff0c;直接回显数据——Dnslog注入 Dn…

Sharepoint Ribbon Loaction

https://msdn.microsoft.com/zh-cn/library/ee537543%28voffice.14%29?f255&MSPPError-2147217396 列表视图相关loaction: Ribbon.List.CustomViews转载于:https://www.cnblogs.com/qiumc/p/4795020.html

JavaScript实现继承的方式,不正确的是:

JavaScript实现继承的方式&#xff0c;不正确的是&#xff1a;DA.原型链继承 B.构造函数继承 C.组合继承 D.关联继承 解析 javaScript实现继承共6种方式&#xff1a; 原型链继承、借用构造函数继承、组合继承、原型式继承、寄生式继承、寄生组合式继承。

如何创建和销毁对象

本文是我们名为“ 高级Java ”的学院课程的一部分。 本课程旨在帮助您最有效地使用Java。 它讨论了高级主题&#xff0c;包括对象创建&#xff0c;并发&#xff0c;序列化&#xff0c;反射等。 它将指导您完成Java掌握的过程&#xff01; 在这里查看 &#xff01; 目录 1.简…

msf各种弱口令爆破

msf各种弱口令爆破 Msf: 记录下msf各个爆破弱口令的模块 run post/windows/gather/arp_scanner RHOSTS10.10.10.0/24 使用arp_scanner模块 检测在线主机 metasploit 增加路由 route add 10.10.1.3 255.255.255.0 1使用扫描模块 use scanner/portscan/tcp爆破ssh Msf>us…

[学习笔记]批次需求计划系统-简要

一、该系统的目的二、系统特色(1)来源根据 如上图(2)仅仅补充需求来源的最大值&#xff0c;避免料件多买而造成浪费(3)可透过[发放LRP工单]将生产计划发放成正式工单(4)可透过[发放LRP採购单]将採购计划发放成正式的请购单或者採购单(5)系统会记录计划的来源单据&#xff0c;方…

在浏览器控制台执行以下代码,输入的结果是()

在浏览器控制台执行以下代码,输入的结果是(A) A.4400 4401 4399 4400 B.4400 4401 4401 4402 C.4400 4400 4399 4400 D.4400 4401 4399 4402 E.4400 4401 4401 4400 解析 js在执行之前

iOS-心跳

转载于:https://www.cnblogs.com/zhuyaguang/p/4800703.html