shell-homeworkone
1、判断/etc/inittab文件是否大于100行,如果大于,则显示”/etc/inittab is a big file.”否则显示”/etc/inittab is a small file.”
#!/bin/sh
if [ `wc -l /etc/inittab |cut -c 1-3` -gt 100 ];then
echo "/etc/inittab is a big file"
else
echo "/etc/inittab is a small file"
fi
2、给定一个用户,来判断这个用户是什么用户,如果是管理员用户,则显示“该用户为管理员”,否则显示“该用户为普通用户”
#!/bin/sh
type=`whoami $1`
if [ $type==root ];then
echo "You are root"
else
echo "You are common user"
fi
3、判断某个文件是否存在
#!/bin/sh
read -p "Enter a file name:" file
if [ -e "$file" ];then
echo "this file exist"
else
echo "this file non-existent"
fi
-----------------------------
if[-e $1 ];then
echo "存在"
else
echo“不存在”
if
4、判断当前系统上是否有用户的默认shell程序是否为bash程序,如果有,就显示有多个这类用户,否则就显示没有这类用户;【并且显示出那些用户是bash】
#!/bin/bash
declare -i sum=`grep "/bin/bash$" /etc/passwd |wc -l `
if grep "/bin/bash$" &> /dev/null;then
echo "存在$sum个用户,shell程序为/bin/bash"
exit 0
else
echo "没有这类用户"
exit 1
fi

5、写出一个脚本程序,给定一个文件,比如:/etc/inittab a、判断这个文件中是否有空白行? b、如果有,则显示其空白行的行号,否则显示没有空白行
#!/bin/sh
read -p "Enter a file name:" file
spaceline=`sed -n '/^$/=' $file`
if [[ -z $spaceline ]];then
echo "this file not have space line."
else
echo "this file have space line.The number is $spaceline"
fi
6、写一个脚本程序,给定一个用户,判断其UID与GID是否一样,如果一样,就显示该用户为“good guy”,否则显示为“bad guy”
#!/bin/sh
read -p "echo a username:" user
USERID=`id -u $user`
GROUPID=`id -g $user`
if [ $USERID -eq $GROUPID ];then
echo "Good Guy"
else
echo "Bad Guy"
fi
1、for遍历/etc/passwd
2、判断每一行的UID和GID
7、写一个脚本程序,给定一个用户,获取其密码警告期限;然后判断用户最近一次修改密码的时间距离今天是否已经小于警告期限;
8、判断命令历史中历史命令的总条目是否大于1000,如果大于,则显示“some command will gone”,否则显示OK
#!/bin/bash
#
HISTLINE=`history | wc -l`
if [ $HISTLINE -ge 1000 ]; then
echo "Some command will gone."
else
echo "ok"
fi
9、给定一个文件,如果是普通文件,就显示出来,如果是目录文件,也显示出来,否则就显示“无法识别”
10、写一个脚本,能接受一个参数(文件路径),判断这个参数如果是一个存在的文件就显示“ok”,否则显示“No such file”
#!/bin/sh
read -p "Enter a file name:" file
if [ -e "$file" ];then
echo "this file exist"
else
echo "this file non-existent"
fi
11、写一个脚本,给脚本传递两个参数,显示两则之和和两者之积
#!/bin/bash
#
if [ $# -lt 2 ]; then
echo "Usage: cacl.sh ARG1 ARG2"
exit 8
fi
echo "The sum is:$[$1+$2]"
echo "The prod is:$[$1*$2]"
shell-homeworkone的更多相关文章
- Shell替换
如果表达式中包含特殊字符,Shell 将会进行替换.例如,在双引号中使用变量就是一种替换,转义字符也是一种替换. #!/bin/bash a= echo -e "Value of a is ...
- Shell特殊变量
$ 表示当前Shell进程的ID,即pid $echo $$ 运行结果 特殊变量列表 变量 含义 $0 当前脚本的文件名 $n 传递给脚本或函数的参数.n 是一个数字,表示第几个参数.例如,第一个参数 ...
- shell变量
定义变量 定义变量时,变量名不加美元符号($),如: variableName="value" 注意,变量名和等号之间不能有空格,这可能和你熟悉的所有编程语言都不一样.同时,变量名 ...
- 第一个shell脚本
打开文本编辑器,新建一个文件,扩展名为sh(sh代表shell),扩展名并不影响脚本执行,见名知意就好. #!/bin/bash echo "Hello World !" &quo ...
- shell简介
Shell作为命令语言,它交互式地解释和执行用户输入的命令:作为程序设计语言,它定义了各种变量和参数,并提供了许多在高级语言中才具有的控制结构,包括循环和分支. shell使用的熟练程度反映了用户对U ...
- Shell碎碎念
1. 字符串如何大小写转换 str="This is a Bash Shell script." 1> tr方式 newstr=`tr '[A-Z]' '[a-z]' < ...
- MongoDB学习笔记二—Shell操作
数据类型 MongoDB在保留JSON基本键/值对特性的基础上,添加了其他一些数据类型. null null用于表示空值或者不存在的字段:{“x”:null} 布尔型 布尔类型有两个值true和fal ...
- 使用C#给Linux写Shell脚本
在这个逼格决定人格,鄙视链盛行的年头,尤其是咱们IT界,请问您今天鄙视与被鄙视的次数分别是多少?如果手中没有一点压箱的本事,那就只有看的份了.今天我们也要提升下自己的格调,学习些脑洞大开的东西,学完之 ...
- Linux环境下shell和vim中乱码原因及消除办法
shell和vim中乱码原因及消除办法 作者:Jack47 在Linux下开发,经常遇到乱码问题:shell或者vim中显示不了中文,或者能够显示,但不能输入中文.每次都是上网去搜,或者同事告诉我一些 ...
- 【说解】在shell中通过mkfifo创建命名管道来控制多个进程并发执行
背景: 工作中有两个异地机房需要传数据,数据全名很规范,在某个目录下命名为统一的前缀加上编号.如/path/from/file.{1..100}.而机房间的专线对单个scp进程的传输速度是有限制的,比 ...
随机推荐
- 使用 Redis 进行阅读数统计并定时持久化
之前,统计每篇博文的阅读数的方式是经过筛选去重之后直接更新数据库,并发压力直接传导到数据库,假设1秒有1000个并发请求,传统方案会在1秒内并发进行1000次数据库更新操作. 为了降低数据库的并发压力 ...
- 利用keras自带路透社数据集进行多分类训练
import numpy as np from keras.datasets import reuters from keras import layers from keras import mod ...
- Beeline里面执行hive脚本 函数nvl2()与replace()报错
Beeline里面执行hive脚本函数nvl2()与replace()报错 写脚本的时候是在impala里面执行的,都正常,但是转换为调度的时候是在beeline里面执行的 就会有问题了. 详情如下: ...
- vue/cli 3 引入 使用jQuery
注意这里配置的是vue-cli3.0引入jquery的方法,不是vue-cli2.0的配置方法 一.安装jquery npm install jquery --save 二.一般安装成功后在packa ...
- 自己总结numpy用法
最近用numpy比较多,边用边自己总结用法. 1. 数组 1.1 生成 m行 * n列 的随机数组 import numpy as np # 生成 m行*n列 的随机数组 # np.random.ra ...
- pyecharts画图总结
pyecharts 画图归纳 将本地文件导入到Pyecharts: test = open(filename, 'r') data = test.readlines() test.close() 如果 ...
- 使用 Flutter 开发 Mac 桌面应用
Flutter 可以开发 Mac,Linux,Windows 桌面,但是对于平台目前只能打对于的包,以及调试本平台的包. 切换到 master 分支 首先必须切换到 master 分支.我之前在 de ...
- 日常工作中VBA代码积累
1.超链接地址提取 Function GetURL(rng As Range) As String On Error Resume Next GetURL = rng.Hyperlinks(1).Ad ...
- 重启宝塔面板后提示-ModuleNotFoundError: No module named 'geventwebsocket'
背景: 因服务器部署了flask项目,安装了python3,故重启宝塔面板报错 [Traceback (most recent call last): File , in load_class mod ...
- 第十六届浙江大学宁波理工学院程序设计大赛 E 雷顿女士与平衡树(并查集)
题意 链接:https://ac.nowcoder.com/acm/contest/2995/E来源:牛客网 卡特莉正在爬树,此时她又在树梢发现了一个谜题,为了不令她分心以至于发生意外,请你帮她解决这 ...