shell介绍,date命令,shell变量

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"

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

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

原文地址:http://blog.51cto.com/shuzonglu/2104608

时间: 2024-10-14 20:34:33

shell介绍,date命令,shell变量的相关文章

javascript 的Date 格式化, 模仿shell中date命令的格式

原文:javascript 的Date 格式化, 模仿shell中date命令的格式 shell 中显示当前的日期 [[email protected]]$ date '+%Y-%m-%d %H:%M:%S' 2015-01-19 16:24:58 把javascript 中的Date object 格式化成适合的字符串,很不方便,模拟shell中的格式 下面先用3段简单的代码来说明模拟函数中用到的特性 字符串的replace var a = '1234' undefined a.replace

二十三、shell介绍、命令历史、命令补全和别名、通配符、输入输出重定向

一.shell介绍 shell是系统跟计算机硬件交互使用的中间介质,它只是系统的一个工具.shell和计算机硬件之间还有一层东西--系统内核.若把计算机硬件比作人的躯体,那系统内核就是大脑,shell就是五官.用户直接面对的不是计算机硬件而是shell,用户把指令告诉shell,然后shell再传输给系统内核,接着内核再去支配计算机硬件去执行各种操作. shell是一个命令解释器,提供用户和机器之间的交互. 每个用户都可以有自己特定的shell. centos7默认的shell为bash(Bou

Linux centos7 shell 介绍、 命令历史、命令补全和别名、通配符、输入输出重定向

一.shell介绍 shell脚本是日常Linux系统管理工作中必不可少的,不会shell,就不是一个合格管理员. shell是系统跟计算机硬件交互使用的中间介质,一个系统工具.实际上在shell和计算机硬件之间还有一层--系统内核.如果吧计算机比作人的躯体,那系统内核就是人的大脑,至于shell,把它比做人的五官更贴切. 其实,用户直接面对的不是计算机硬件而是shell,用户把指令告诉shell,然后shell再传给系统内核,接着内核再去支配计算机硬件去执行各种操作. CentOS安装的she

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

shell介绍 shell是一个命令解释器,提供用户和机器之间的交互 支持特定语法,比如逻辑判断,循环 每个用户都可以有自己特定的shell CentOS7默认shell为bash(Bourne Agin Shell) 还有zsh,ksh等 命令历史 history [[email protected] ~]# ls /root/.bash_history /root/.bash_history [[email protected] ~]# 最大存1000条. [[email protected

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

一.shell介绍二.命令历史历史命令存放路径 /root/.bash_history ,默认可以存放1000条命令#history //查看具体的历史命令[[email protected] ~]# echo $HISTSIZE //系统内置环境变量1000 #history -c //清空内存中命令历史,但是存放命令的文件不会被删除#vi /etc/profile // 修改HISTORY环境变量路径/etc/profile,可以吧HISTSIZE=1000改为5000[[email pro

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

shell介绍 shell是一个命令解释器,提供用户和机器之间的交互,支持特定语法,比如逻辑判断.循环,每个用户都可以有自己特定的shell CentOS7默认shell为bash(Bourne Agin Shell) 还有zsh.ksh等 命令历史 查看历史命令 [[email protected] ~]# cat .bash_history 修改历史记录条数: vi /etc/profile HISTSIZE=1000 修改查看历史记录的格式: /etc/profile中新增: HISTTI

shell介绍,命令历史记录,命令和文件名自动补齐;通配符和输入\输出重定向

shell介绍 Shell是系统的用户界面,提供了用户与内核进行交互操作的一种接口.它接收用户输入的命令并把它送入内核去执行.在计算机硬件之间还有一层东西--系统内核.如果把计算机硬件比作一个人的躯体,那系统内核就是人的大脑.至于shell,把它比作人的五官似乎更贴切些.言归正传,用户直接面对的不是计算机硬件而是shell,用户把指令告诉shell,然后shell再传给系统内核,接着内核再去支配计算机硬件去执行各种操作.Bash (GNU Bourne-Again Shell) 是许多Linux

shell脚本结构、date命令、变量

20.5 Shell脚本中的逻辑判断 逻辑表达式 在[ ]中括号中: -lt:=little than 小于-le:=little && equal 小于等于-eq:=equal 等于-ne:=no equal 不等于-gt:=greater than 大于-ge:=greater && equal 大于等于在(( ))小括号中:<,<=,==,!=,>,>= 注意: 使用双括号括起来 格式1 if 条件 :then commond:fi eg: #

shell 介绍及命令历史

1.什么是 shell ? 打开系统,输入 zs ,按下 Tab 键,出现下图命令 zsoelim ,说明没有 zsh 命令,这时候可以安装一下,先输入命令 yum list |grep zsh ,回车,搜索一下,可以看出有 zsh 命令,也有 ksh 命令,这边我们就不安装了. 2.命令历史 我们执行过的命令,实际上是有保存到一个文件的.按向上的方向键,可以查看之前的命令,那么这些命令在哪边被保存的呢?有一个文件在用户的加目录下,root 用户见下图,可以 cat 查看,命令非常多,截取一部分

shell之sed命令删除变量中带有“日期时间等内容”的方法

sed命令删除指定等内容可能大家都知道,比如想要删除某个文件中包含"badboy"的那行,直接使用下面的命令就可以: sed -i '/badboy/d' file.txt 就可以把flie.txt文件中包含badboy的内容全部删掉. sed命令删除指定行,如果匹配字符用变量替代,变量中包含"/"符号,使用下面方法处理: 例如: [[email protected]]# vi a.txt /usr/sbin/restart.sh /usr/sbin/control