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)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 易语言执行mysql命令_易语言执行sql进度条 易语言mysql

    易语言执行mysql命令_易语言执行sql进度条 易语言mysql易语言的进度条怎么使用?我就让进度条每秒进一格,一百秒进度条满!用了一个时钟组件。.版本2.程序集窗口程序集3.子程序__启动窗口_创建完毕.子程序_按钮1_被单击.如果(编辑框1.内容≠“”或编辑框2.内容≠“”)时钟1.时钟周期=1000.否则信息框(“请输入内容”,0,).如果结束.子程序_时钟1_周期事件.如果(进度条1.位置<进度条…

    2022年7月13日
    51
  • epub精品电子书下载_丹尼尔·内格里诺

    epub精品电子书下载_丹尼尔·内格里诺郑重声明:本号收录的电子书均来源于互联网或网友分享,链接内容仅作分享交流学习使用,不用于任何商业用途,版权归原作者和出版社所有,如果喜欢,请支持和购买正版,谢谢。下载地址:http://pan.63

    2022年8月3日
    5
  • Python生成exe文件的方法及步骤

    Python生成exe文件的方法及步骤为什么要生成可执行文件不需要安装对应的编程环境 可以将你的应用闭源 用户可以方便、快捷的直接使用打包工具pyinstaller安装pyinstaller如果你的网络稳定,通常直接使用下面的命令安装即可:pipinstallpyinstaller检查pyinstaller安装成功与否:只需要执行如下命令其中一个即可:pyinstaller-vpyi…

    2022年6月9日
    54
  • visual studio新手使用教程「建议收藏」

    visual studio新手使用教程「建议收藏」目录1.下载安装VisualStudio2.新建工程3.新建项目4.添加源文件5.编译一闪而退的问题6.使用scanf函数报错问题7.VS常用调试程序快捷键8.VS的调试窗口9.工具->选项对于刚刚接触编程的新手来说,最先需要熟练掌握的当然是语言之祖——C语言,而C语言编译器首当其冲的必然是visualstudio,小编入门使用VC6.0,…

    2022年6月15日
    58
  • rst 网络_RST报文

    rst 网络_RST报文????现实很近又很冷,梦想很远却很温暖​欢迎关注CSDN:https://blog.csdn.net/ndrg55?spm=1011.2124.3001.5343&type=blog语雀:https://www.yuque.com/u12089348以下内容来源:https://mp.weixin.qq.com/s/Fr6o6gRiIUIspV9-jR9snw作者:小白debug注:内容有所改动一、什么是RST我们都知道TCP正常情况下断开连接是用四次挥手,那是正常时候的

    2022年9月28日
    3
  • SCL语言_scl语言优势

    SCL语言_scl语言优势西门子SCL语言处理数据的“先进先出”处理案例先进先出,是指根据先入库先发出的原则,对于发出的存货以先入库存货的单价计算发出存货成本的方法。(1)、建立数据(自己设计,自己理解的,如有错误请指教)建立一个DB块,在DB块中建立上面图的数据,“先进”的解释:在名称read的数据写入变量,把名称位read_start的值写为1,read的数据写入下面write/read_no的数组中,反复操作,先进来的数据会排列到数组数据的最上层,依次是后进来的数据。直到把数组填充满而无法写入。“先出”..

    2022年10月6日
    2

发表回复

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

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