运维shel小编(2)

运维shel小编(2)

大家好,又见面了,我是全栈君。

第一章shell历史与变量

2.1shell历史与bash简介

Shell就是一个用于客户交互操作硬件的一个中间件。由于linux版本众多,shell也有很多种,/bin/bashlinux默认的shell

Bash shell的功能:

Tab自动补全、历史命令、命令别名、标准输入输出、重定向操作和管道功能。

History 查看历史 history -c 清除历史,!n使用命令历史  

Alias查看别名

运维shel小编(2)

运维shel小编(2)

>输出

运维shel小编(2)

1>2>分别是正确输出和错误输出

运维shel小编(2)

|管道命令,用于将上一个执行结果向下传递

运维shel小编(2)

2.2 shell变量的应用

变量:就是用一个特定字符串代替不固定的内容。Shell变量为linux提供了灵活的参数,包括变量名和变量值两部分。

变量赋值格式:变量名=变量值

变量查看的方式:echo $变量名

Env用于查看全局变量,set所有变量

运维shel小编(2)

运维shel小编(2)

通过键盘输入内容为变量值的格式为:read [-p  “信息”]  变量名

对于引用时符号注意事项:双引号“”表示引用变量值,单引号表示$视为普通值,反撇号意思为将结果输出给变量。

运维shel小编(2)

如果引用变量,它会认为$a11111看成一个整体变量,需要用${a}

 

 

运维shel小编(2)

测试一个shell脚本,格式如下,但是我们却看不到结果,因为全局变量才会被启用

运维shel小编(2)

全局变量才会被启用,我们可以使用export 变量名将结果变为全局变量,然后就可以引用了。unset进行取消变量。

 

运维shel小编(2)

键盘键入变量

运维shel小编(2)

2.3 shell的其它变量

环境变量配置文件/etc/profile我们可以通过path增加环境变量路径,将该路径下变量变为全局变量

运维shel小编(2)

位置变量是指,一个数组可以使用$1-9来引用变量值

运维shel小编(2)

运维shel小编(2)

预定义变量$#:返回命令行中参数个数,$*:显示参数内容,$?:返回上一条命令的状态,为0表示正常,$$:当前进程号,$0:当前执行进程。

运维shel小编(2)

 

 

运维shel小编(2)

2.4 shell 脚本简介与简单实例

Shell脚本是用于完成特定的、较复杂任务的一种自动化文本。是高级管理员必备的工具。

1、一个与键盘交互的shell脚本

 

运维shel小编(2)

 

2.完成一个简单的数值运算,对于计算我们使用(())双重的括号来进行数学运算。

运维shel小编(2)

运维shel小编(2)

3.每隔三天对数据库进行一次完整备份,并记录磁盘信息

 

运维shel小编(2)

 

本文转自zsaisai 51CTO博客,原文链接:http://blog.51cto.com/3402313/1003939

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

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

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


相关推荐

  • flag_activity_new_task 简单_android startactivityforresult

    flag_activity_new_task 简单_android startactivityforresult2019独角兽企业重金招聘Python工程师标准>>>…

    2022年9月27日
    4
  • cas单点登录实现原理(用户登录测试用例)

    转载地址http://www.cnblogs.com/lihuidu/p/6495247.html1、基于Cookie的单点登录的回顾    基于Cookie的单点登录核心原理:   将用户名密码加密之后存于Cookie中,之后访问网站时在过滤器(filter)中校验用户权限,如果没有权限则从Cookie中取出用户名密码进行登录,让用户从某种意义上觉得只登录了一次。   该方式缺…

    2022年4月14日
    134
  • android 高德地图标记,android学习之高德地图添加标记

    android 高德地图标记,android学习之高德地图添加标记Marker用于标注地图上的一个特定位置aMap的.addMarker(markerOptions)方法即可markerOptions有如下的属性position(Required)在地图上标记位置的经纬度值。参数不能为空。title当用户点击标记,在信息窗口上显示的字符串。snippet附加文本,显示在标题下方。draggable如果您允许用户可以自由移动标记,设置为“true”。…

    2022年5月21日
    139
  • Struts2用AbstractInterceptor取代了AroundInterceptor

    Struts2用AbstractInterceptor取代了AroundInterceptorStruts2中绝大多数预建interceptor都从AbstractInterceptor扩展而来,AbstractInterceptor不在支持before、after两个抽象方法,取而代之的是intercept方法被抽象出来,交由子类去实现。其实大多数interceptor只会去实现before、after中的一个,这样就必须还要在ww中为另一个提供空方法,再由于线程安全问题WW…

    2022年5月14日
    37
  • 实例讲解从Backup Eexc 2012的完全备份+差异备份中恢复Exchange邮箱项

    实例讲解从Backup Eexc 2012的完全备份+差异备份中恢复Exchange邮箱项

    2021年8月27日
    69
  • Spark Streaming Join

    Spark Streaming Join多数据源Join思路多数据源Join大致有以下三种思路:数据源端Join,如Android/IOS客户端在上报用户行为数据时就获取并带上用户基础信息。计算引擎上Join,如用SparkStreaming、Flink做Join。结果端Join,如用HBase/ES做Join,Join键做Rowkey/_id,各字段分别写入列簇、列或field。三种思路各有优劣,使用时注意…

    2022年6月30日
    23

发表回复

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

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