1、编写shell脚本 ex1.sh,提示用户输入用户名,并判断此用户名是否存在。

(提示:利用read、grep和/etc/passwd)

#!/bin/bash

echo "请输入用户名"

read username   #相当于scanf

if grep $username /etc/passwd; then   #if的结尾要有fi
echo "存在"
else
echo "不存在"
fi

2、 编写shell脚本 ex2.sh,能将命令行参数相加并输出,如: ex2 1 3 8输出结果为12。

(提示:利用$@和循环结构)

#①可以把命令行的任意个数字相加

#!/bin/bash

sum=          #赋初值
for var in $@       #命令行的所有值 用以循环
do sum=$[$sum+$var]   #$相当于地址符
done
echo "$sum" #②可以把命令行三个数相加 #!/bin/bash CITY=SUM;
let SUM=$+$+$
echo "$SUM"

3、 编写shell脚本 ex3.sh,能将命令行参数所代表的文件统计行数,相加并输出结果,如: ex3 file1 file2 file3 ,统计三个文件的行数的总数。

(提示:利用$@和循环结构)

#!/bin/bash

sum=
nub=
for var in "$@"
do
nub=$(sed -n '$=' $var)   #读取文件中数据的行数
sum=$[$sum+$nub]
done
echo "$sum"

4、 编写shell脚本 ex4.sh,将当前目录下的.c文件移到命令行参数指定的目录下,并按文件大小排序,显示移动后指定目录的内容。

(提示:利用$1,sort和ls)

#!/bin/bash

echo "请输入地址:"

read addr       #scanf输入地址

mv ./*.c $addr     # ./表示当前目录 *.c表示所有一.c结尾的文件 mv移动操作

ls -S $addr #ls 显示当前目录下的文件夹 -S将文件大小排序

5、 编写shell脚本 ex5.sh,输出命令行参数中的最大数,如: ex2 1 3 8输出结果为8;如果命令行参数中有非数字参数则报错。

(提示:利用$@、循环结构和分支判断)

#!/bin/bash

max=$

for var in "$@"
do
if [[ $var != *[!-]* ]];then     #*X*匹配任何包含x的字符串(开头,中间或结尾),[!-]匹配任何非0-9的字符,合起来就是匹配没有0-9的字符
if [ $var -gt $max ];then     #比较var和max的大小 -gt表示">"
max=$var
fi
else
echo "含有其他字符"
exit         #结束
fi
done echo "$max"

五个简单的shell脚本的更多相关文章

  1. 一个简单的shell脚本

    一个简单的shell脚本 一个简单的shell脚本 编写 假设我想知道目前系统上有多少人登录,使用who命令可以告诉你现在系统有谁登录: 1.[KANO@kelvin ~]$ who2.KANO tt ...

  2. 《linux就该这么学》第五节课,shell脚本的各种语句!

    第四章shell语句 (据课本和虚拟机实验排版,借鉴请改动)               4.2:shell脚本   脚本包括:脚本声明,脚本注释,脚本内容和命令 例:#!/bin/bash      ...

  3. 如何在linux下编写一个简单的Shell脚本程序

    在了解了linux终端和其搭配的基本Shell(默认为bash)的基础下,我们就可以在终端中用vi/vim编辑器编写一个shell的脚本程序了 Shell既为一种命令解释解释工具,又是一种脚本编程语言 ...

  4. 小鸟初学Shell编程(二)编写简单的Shell脚本

    Shell脚本 编写Python.PHP脚本通常需要掌握语言的函数,那么Shell脚本则不需要,只需要掌握Linux命令就可以编写Shell脚本,因为Shell脚本就是由多个Linux命令组成,通过将 ...

  5. 一个简单的Shell脚本(解决windows上文本在macos上乱码问题)

    之所以有这一篇文章,是因为之前我写过的一篇文章:“解决Mac上打开txt文件乱码问题”:传送门: https://www.cnblogs.com/chester-cs/p/11784079.html ...

  6. 简单的 Shell 脚本入门教程

    Shell脚本 运作方式与解释型语言相当,如果有语言基础,学起 Shell 脚本就非常容易,但是 Shell 与常见的语言不同,一些常见的函数在 Shell 中需要组合一些命令得以实现 工具推荐 Sh ...

  7. 简单的 shell 脚本 切分日志

    为避免日志过大,需要按天分割日志,定时计划任务脚本如下: /data/shell/backup_yesterday_nginx_log.sh declare logs_path="/data ...

  8. 我的一些简单的shell脚本实例

    1.模拟linnux登录shell #/bin/bashecho -n "login:" read nameecho -n "password:"read pa ...

  9. 自动化运维:(3)写一个简单的Shell脚本(案例)

    一.需求 1.test.sh 脚本执行时候需要添加参数才能执行 参数和功能详情如下: 参数 执行效果 start 启动中... stop 关闭中... restart 重启中... * 脚本帮助信息. ...

随机推荐

  1. 数据库开发 Oracle与mysql间的批量处理接口 SSIS+存储过程实现

    公司目前不同的业务系统用了不同的数据库,涉及到oracle.mysql.sqlserver.而一些核心的业务在mysql中,所以平时经常要把oracle.sqlserver中的数据插入到mysql中. ...

  2. 学习Shader所需的数学基础(坐标系,点和矢量)

    数学对于计算机图形学的重要性是不言而喻的.在学习Shader之前,首先就要打好数学基础,好在入门Unity Shader所需的数学知识都是线性代数中很基础的的内容.按部就班的来,第一篇文章记录总结的是 ...

  3. Python基础篇(四)_组合数据类型的基本概念

    Python基础篇——组合数据类型的基本概念 集合类型:元素的集合,元素之间无序 序列类型:是一个元素向量,元素之间存在先后关系,通过序号进行访问,没有排他性,具体包括字符串类型.元组类型.列表类型 ...

  4. Java容器的常见问题

    记录Java容器中的常见概念和原理 参考: https://github.com/wangzhiwubigdata/God-Of-BigData#三Java并发容器 https://blog.csdn ...

  5. Python实现一个ORM模型类

    ORM是三个单词首字母组合而成,包含了Object(对象-类),Relations(关系),Mapping(映射).解释过字面意思,但ORM的概念仍然模糊.私以为要理解一个事物,最好的法子是搞明白它出 ...

  6. 手把手教你用java实现syslog消息的收发,学不会你打我喽!

    大家好,我是道哥,专注于后端java开发,喜欢写作和分享.如果觉得文章对你有用,那就点个赞呗!如果能转发那是对道哥最大的支持! syslog的定义 见文知义,syslog,从英文名字上可以看出是指系统 ...

  7. 牛客网剑指offer【Python实现】——part1

    斐波那契数列 大家都知道斐波那契数列,现在要求输入一个整数n,请你输出斐波那契数列的第n项(从0开始,第0项为0,n<=39). 循环实现,时间复杂度n def Fibonacci(self, ...

  8. display:flex 简单记录

    1.有写了 display:flex:这个就是 采用了 flex布局的 元素 这个元素可以 写 6个属性: flex-direction : row |  column  | row-reverse ...

  9. tigervnc使用总结

    vncserver和x0vncserver用法总计 通常vncserver :port 会调用到xvnc,这时系统会新建一个虚拟桌面通过vncserver分享出去. vncserver的用法很简单: ...

  10. 谷歌开发者:看可口可乐公司是怎么玩转 TensorFlow 的?

    在这篇客座文章中,可口可乐公司的 Patrick Brandt 将向我们介绍他们如何使用 AI 和 TensorFlow 实现无缝式购买凭证. 可口可乐的核心忠诚度计划于 2006 年以 MyCoke ...