Shell

shell是什么?

shell是一种脚本语言
可以使用逻辑判断、循环判断等语句;
可以自定义函数;
shell是系统命令的集合,比如Windows的批处理命令;
shell脚本可以实现自动化运维,能打打增加我们的运维效益;

shell脚本结构

开头必须加#!/bin/bash
也就是调用/bin/bash的内核运行
脚本的名字以.sh结尾,用来区分是一个shell脚本;

执行方法有两种:

1.作为可执行程序

chmod +x 1.sh       //是脚本具有执行权限
./1.sh                       //执行脚本

2.作为解释器参数

bash 1.sh                              //也可以sh 1.sh

查看脚本执行过程:bash -x 1.sh
查看脚本是否语法错误:bash -n 1.sh


date日期命令

年月日:

命令:date +%Y-%m-%d
输出:2018-04-17

命令:date +%F
输出:2018-04-17

命令:date +%y-%m-%d
输出:18-04-17

命令:date +%Y%m%d
输出:20180417

时间:

命令:date +%H:%M:%S
输出:20:23:16

命令:date +%T
输出:20:23:16

周:

%w:这个月第几周
%W:今年第几周

时间戳:

date +%s
date -d @1504620492

增加减少年月日:

date -d "+1day" 一天后
date -d "-1 day" 一天前
date -d "-1 month" 一月前
date -d "-1 min" 一分钟前


变量

命名规则:

命名只能使用英文字母,数字和下划线,首个字符不能以数字开头。
中间不能有空格,可以使用下划线(_)。
不能使用标点符号。
不能使用bash里的关键字(可用help命令查看保留关键字)。

shell数值:

a=1;b=2;        //给变量a赋予数值1,变量b赋予数值2
c=$(($a+$b))    //c=a+b,使用运算必须前面加$

shell字符串:

字符串时shell变成中最常用最有用的数据类型(数字和字符串),字符串可以用单引号,也可以用双引号;

单引号:

str=‘this is a string’

无法使用转义符和变量;

双引号:

your_name='aaaa'
str="Hello,I know your are \"$your_name\"! \n"

双引号的优点:可以有变量,可以出现转义符;

反引号:

反引号可以将命令结果传递给变量
假如1.txt有3行,

n=`wc -l 1.txt`
echo n

输出:3 1.txt

美元符号:

美元符号$
当使用变量时候,也就是进行变量与变量之间数学运算,或是将命令传递给某个变量都可以使用;
c=$(($a+$b))
n=$(wc -l 1.txt)

调用变量值必须在前面带$符号
引用某个命令的结果时,用变量替代 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]

转载于:https://blog.51cto.com/shuzonglu/2104608

shell介绍,date命令,shell变量相关推荐

  1. shell介绍,命令历史,命令补全和别名 ,通配符, 输入输出重定向

    2019独角兽企业重金招聘Python工程师标准>>> shell介绍 shell是一个命令解释器,提供用户和机器之间的交互: 支持特定语法,比如逻辑判断.循环: 每个用户都可以有自 ...

  2. 8.1-8.5 shell介绍,命令历史,命令补全和别名,通配符,输入输出重定向

    8.1 shell介绍 8.2 命令历史 8.3 命令补全和别名 8.4 通配符 8.5 输入输出重定向 8.1 shell介绍 Linux Shell基础 介绍shell的特性,用法. shell是 ...

  3. shell的date命令:使用方法,以及小时、分钟的计算

    shell命令格式严格,不像python那样命令行中可以添加空格.如等号两边无空格.有多余空格错误,日期date命令就是最明显的例子. 命令格式: date [-u] [-d datestr] [-s ...

  4. 快速了解shell常用内部命令和变量使用

    目录 一.常用内部命令和变量使用 1.echo命令 2.eval命令 3.exec命令 4.export命令 5.read命令 6.shift命令 7.exit命令 二.脚本执行的方式和特点 1.交互 ...

  5. linux shell脚本date命令 按照不同格式输出

    date 命令 一)显示系统时间 1.date   CST中央标准时间 Mon Jun  5 15:11:44 CST 2017 2.date -R  带时区的时间 Mon, 05 Jun 2017 ...

  6. linux+shell+解压命令,Shell命令 文件压缩解压缩之gzip、zip详解

    本篇文章的主要内容讲述的是shell命令中之文件压缩解压缩之gzip.zip,具有一定参考价值,感兴趣的朋友可以了解一下,希望对你有所帮助. 1.gzip:gzip压缩工具 gzip命令的功能说明: ...

  7. linux脚本求命令行上整数和,shell脚本--cut命令与awk简单使用

    cut:对内容进行列切割 -d 后面的是分割符,表示用什么符号来分割符来分割列,分隔符使用引号括起来: -f后面跟着要选择的字段列,从1开始,表示第一列,如果要多列,可以用逗号分隔 : -c参数后面跟 ...

  8. linux下的各种shell介绍(bash和dash转换)

    在linux下编写shell脚本文件时,经常会看到很多人在文件的第一行中标注"#!/bin/bash".这句话的意思是告诉系统强制用bash,避免出现一些不兼容的问题. 那么,在l ...

  9. linux 进入shell命令,linux或者shell进入vi命令

    vi的基本操作 a) 进入vi     在系统提示符号输入vi及文件名称后,就进入vi全屏幕编辑画面: $ vi file 不过有一点要特别注意,就是您进入vi之后,是处于「命令行模式(command ...

  10. 7月11日任务 shell介绍、shell结构和执行 、date命令用法、shell脚本中的变量

    2019独角兽企业重金招聘Python工程师标准>>> 20.1 Shell脚本介绍 • shell是一种脚本语言  aming_linux  blog.lishiming.net ...

最新文章

  1. BCH再度领涨,BTC能否及时跟上
  2. 合并单元格两行_28 HTML5标签学习——table单元格的合并
  3. nagios监控mysql主从复制
  4. Tomcat7的安装与配置
  5. 关于 ElesticSearch 安装
  6. boost::coroutine模块实现合并数组的测试程序
  7. 前端学习(2225):react之类定义组件
  8. WEB安全基础-Javascrp相关知识点之DOM
  9. 天地图卫星地图_AutoCAD使用卫星地图
  10. 【JAVASCRIPT】处理表单事件
  11. python 堆_【译】Python中的堆排序
  12. 从声学模型算法角度总结 2016 年语音识别的重大进步
  13. HTML5之WebSocket
  14. pythonjson格式化输出_pythonjson格式化输出_Python json格式化打印实现过程解析
  15. java如何获取wsdl文件,如何使用Java获取WSDL文件中的复杂类型?
  16. 深入浅出的理解频谱泄露
  17. 老徐FrankXuLei 受邀为中国东方航空上海研发中心讲授微软.NET企业开发课程
  18. Xcode直接安装ipa
  19. PowerDesigner生成带中文注释的ER图
  20. python字母对应序号_python获取字母在字母表对应位置的几种方法及性能对比较

热门文章

  1. 最新消息!Cloudera 全球发行版正式集成 Apache Flink
  2. Android自定义View【实战教程】3⃣️----Paint类、Path类以及PathEffect类详解
  3. linux配置ip地址 suse_suse下设置IP的两种方法
  4. 性能测试--jmeter中响应断言【9】
  5. python计算圆的体积_python计算圆周长、面积、球体体积并画出圆
  6. 下面哪一个不是python语言的合法命名_下面哪一个不是Python语言的合法命名
  7. java 不安全操作_Java新手求助:怎么会出现使用了未经检查或不安全的操作。
  8. sql语句与mysql_MySQL-sql语句
  9. python处理json数据(复杂的json转化成嵌套字典并处理)
  10. oracle行相减,oracle两张表满足某个条件时,表中满足条件的那一行的某列相减