shell训练营 Day6「建议收藏」

shell训练营 Day6「建议收藏」shell训练营 Day6

大家好,又见面了,我是你们的朋友全栈君。

1.Shell是个啥:
shell是一种脚本语言 aming_linux blog.lishiming.net
可以使用逻辑判断、循环等语法
可以自定义函数
shell是系统命令的集合
shell脚本可以实现自动化运维,能大大增加我们的运维效率

2.Shell脚本结构和执行
开头需要 #!/bin/bash
脚本内容中以#开头的行作为解释说明
编写脚本时用#添加作者、用途、功能等注释,方便日后查看和使用
脚本的名字一般用“.sh”结尾,区分这是一个shell脚本
执行方法有两种:
给脚本添加执行权限“chmod 755 1.sh”,然后直接执行该脚本“./1.sh”;
使用sh或bash执行 # sh 1.sh;

3.date命令的用法
date 可以用来显示或设定系统的日期与时间
命令参数
-d<字符串>:显示字符串所指的日期与时间。字符串前后必须加上双引号;
-s<字符串>:根据字符串来设置日期与时间。字符串前后必须加上双引号;
日期格式字符串列表
%H 小时(以00-23来表示)
%I 小时(以01-12来表示)
%K 小时(以0-23来表示)
%l 小时(以0-12来表示)
%M 分钟(以00-59来表示)
%P AM或PM
%r 时间(含时分秒,小时以12小时AM/PM来表示)
%s 总秒数。起算时间为1970-01-01 00:00:00 UTC
%S 秒(以本地的惯用法来表示)
%T 时间(含时分秒,小时以24小时制来表示)
%d 日期(以01-31来表示)
%D 日期(含年月日)
%m 月份(以01-12来表示)
%U 该年中的周数
%w 该周的天数,0代表周日,1代表周一,异词类推
%x 日期(以本地的惯用法来表示)
%y 年份(以00-99来表示)
%Y 年份(以四位数来表示)
[root@dl-001 shell]# date +%Y //查看当前年份(四位显示)
2018
[root@dl-001 shell]# date +%y //查看当前年份(简化显示)
18
[root@dl-001 shell]# date “+%Y-%m-%d %H:%M:%S %w” //查看当前 年 月 日 时 分 秒 星期
2018-12-20 10:01:00 6
[root@dl-001 shell]# date +%F //查看当前完整的年月日
2018-12-20
[root@dl-001 shell]# date +%W //查看当前时间是一年的第几周
50
[root@dl-001 shell]# date +%T //查看当前时间是几点
10:01:38

4.shell脚本中的变量
当脚本中使用某个字符串较频繁并且字符串长度很长时就应该使用变量代替
使用条件语句时,常使用变量    if [ $a -gt 1 ]; then … ; fi
引用某个命令的结果时,用变量替代   n=wc -l 1.txt
写和用户交互的脚本时,变量也是必不可少的  read -p “Input a number: ” n; echo $n   如果没写这个n,可以直接使用$REPLY
内置变量 $0, $1, $2…    $0表示脚本本身,$1 第一个参数,$2 第二个 ….       $#表示参数个数
数学运算a=1;b=2; c=$(($a+$b))或者$[$a+$b]

5.shell中的逻辑判断
if判断
格式1:if 条件 ; then 语句; fi
格式2:if 条件; then 语句; else 语句; fi
格式3:if …; then … ;elif …; then …; else …; fi
逻辑判断表达式:
if [ $a -gt $b ]; if [ $a -lt 5 ]; if [ $b -eq 10 ]等 -gt (>); -lt(<); -ge(>=); -le(<=);-eq(==); -ne(!=) 切记[]里的两边都要有空格
且可以使用 && || 结合多个条件
if [ $a -gt 5 ] && [ $a -lt 10 ]; then
if [ $b -gt 5 ] || [ $b -lt 3 ]; then

if 判断文件、目录属性
[ -f file ]判断是否是普通文件,且存在
[ -d file ] 判断是否是目录,且存在
[ -e file ] 判断文件或目录是否存在
[ -r file ] 判断文件是否可读
[ -w file ] 判断文件是否可写
[ -x file ] 判断文件是否可执行
例:if [ -f 1.txt ]

转载于:https://blog.51cto.com/12898947/2334380

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/107125.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • java中beanutils_java bean

    java中beanutils_java beanBeanUtils<!–原型设计模式:复制属性–> Maven包<dependency><groupId>commons-beanutils</groupId><artifactId>commons-beanutils</artifactId><version>1.9.3</version>

    2025年9月12日
    4
  • Mysql数据库课程设计

    Mysql数据库课程设计Hello小伙伴们,大家好,我是楠橘星!!今天给大家分享一下使用javafx编写的前端的Mysql数据库课程设计题库与试卷生成系统!废话不多说了,直接上截图,希望对大家有所帮助!(建议拿来参考不建议直接CV哦!)1.系统需求分析1-1、功能分析通过深入细致的调查,多方面搜集资料,以及实地考察等方法,经过总结研究,总结出了试卷生成系统的的基本的业务功能,详细如下:学生信息维护:主要完成学生的学号、班级、考试信息等操作。教师信息维护:主要是教师信息的添加、修改和删除等操作。题库信息维护

    2022年5月19日
    57
  • git log退出方法

    git log退出方法

    2021年10月23日
    52
  • java 取当前时间年月日_Java获取当前时间年月日的方法[通俗易懂]

    java 取当前时间年月日_Java获取当前时间年月日的方法[通俗易懂]本文实例为大家分享了java获取当前时间年月日的具体代码,供大家参考,具体内容如下importjava.text.ParseException;importjava.text.SimpleDateFormat;importjava.util.Calendar;importjava.util.Date;publicclassDateTest{publicstaticvoidmai…

    2025年9月7日
    5
  • java类 英文文献_java英文参考文献[通俗易懂]

    java类 英文文献_java英文参考文献[通俗易懂]java英文参考文献【1】vonNeumann.TheFirstDraftReportontheEDVAC.1945年.D.L.Parnas.OntheCriteriaToBeUsedinDecomposingSystemsintoModules.CommunicationsoftheACM,Vol.15,No.12,December19…

    2022年9月30日
    1
  • Linux驱动编程中EXPORT_SYMBOL()介绍

    Linux驱动编程中EXPORT_SYMBOL()介绍一、查看内核驱动代码你会发现很多的函数带有EXPORT_SYMBOL()宏定义。二、那么EXPORT_SYMBOL的作用是什么?      EXPORT_SYMBOL标签内定义的函数或者符号对全部内核代码公开,不用修改内核代码就可以在您的内核模块中直接调用,即使用EXPORT_SYMBOL可以将一个函数以符号的方式导出给其他模块使用。三、使用方法 

    2022年7月12日
    15

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号