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

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

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

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)


相关推荐

发表回复

您的电子邮箱地址不会被公开。

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