登录  | 加入社区

黑狼游客您好!登录后享受更多精彩

只需一步,快速开始

新浪微博登陆

只需一步, 快速开始

查看: 1483|回复: 0

15分钟学会shell脚本,最简明的教程在这里

[复制链接]

216

主题

1

帖子

0

现金

黑狼菜鸟

Rank: 1

积分
0
发表于 2017-12-4 02:17:34 | 显示全部楼层 |阅读模式 来自 澳大利亚
CiAYghdANbGbIXn8.jpg


本文由马哥教诲M23期学员保举,转载自互联网,作者为Hnongy,感谢作者的辛劳付出和贡献。


Shell脚本,就是使用Shell的下令表明的功能,对一个纯文本的文件举行剖析,然后实行这些功能,也可以说Shell脚本就是一系列下令的聚集。
Shell可以直接利用在win/Unix/Linux上面,而且可以调用大量体系内部的功能来表明实行步伐,假如纯熟把握Shell脚本,可以让我们操纵盘算机变得更加轻松,也会节流许多时间。


一、Shell应用场景

    
[size=1em]01
[size=1em]Shell能做什么        
    将一些复杂的下令简朴化(平常我们提交一次github代码大概必要许多步调,但是可以用Shell简化成一步)
    可以写一些脚本主动实现一个工程中主动更换最新的sdk(库)
    主动打包、编译、发布等功能
    清算磁盘中空文件夹
    总之统统有规律的活脚本都可以实验一下


[size=1em]02
[size=1em]Shell不能做什么
      

    必要细密的运算的时间
    必要语言服从很高的时间

    必要一些网络操纵的时间

    总之Shell就是可以快速开辟一个脚本简化开辟流程,并不可以用来替换高级语言



[size=1em]03
[size=1em]Shell的工作原理


       

    Shell可以被称作是脚本语言,由于它自己是不必要编译的,而是通过表明器表明之后再编译实行,和传统语言相比多了表明的过程以是服从会略差于传统的直接编译的语言。

    1.3.1 最简朴的脚本:

sZs0TgGYDD4Gea0y.jpg

    

    只必要打开文本编辑工具,编辑成以上的样子,然后生存成test.sh



    1.3.2 运行该脚本:

EJ7HHDsJU7hr7zeS.jpg

jodb4ExZVoUUSsQt.jpg

“结果图1”




    如许
我们便写出来了第一个最简朴的脚本,下面我们可以实验着写一些复杂的脚本。




    1.3.3 Shell中的变量



OycT8A05n38jCJ5v.jpg     
这内里必要留意的就是,“=”前后不能有空格,定名规则就和别的语言一样了。


    1.3.4 访问变量

J95u2PuYzHAh29PM.jpg

当想要访问变量的时间,必要利用$,否则输出的将是纯文本内容,如下图所示。
Qy7yqFlTVT0lUhvt.jpg

“结果图2”

    Shell中的四则运算

T9fZeNz9QudZqObV.jpg

    例子步伐

I4w5u4jZAIXgHiaj.jpg

这内里必要留意的就是,界说变量的时间“=”前后是不能有空格的,但是举行四则运算的时间运算符号前后肯定要有空格,乘法的时间必要举行转义。
kd6a63XDE7XXKFfR.jpg

结果图3

    别的运算符 =、==、!=、!、-o、-a

f8Ihh38BI2OhBHB4.jpg

    例子步伐

JGjfaUHyaHFHAIdG.jpg

hs396X6H6j09010s.jpg

结果图4

    关系运算符

i314ZXOu54I8n4u5.jpg

    例子步伐

z6OSlooWzgs3t6hw.jpg

BfnVYvHTeEetv2Vz.jpg

swLgjY7p2IgXImU2.jpg

结果图5

    字符串运算符



Uj75XzJl3fIRS5jY.jpg



YdOsWR77075F280w.jpg

    字符串

mcuSAhIi87lc77Si.jpg

nK41Z44Lj6k73m44.jpg

结果图6

    数组

O7MTuuwtNjj7wztx.jpg

GWrj9Y7w6krx63K0.jpg

结果图7

    输出步伐:echo

qojxi5uFj5gtgUJj.jpg

VOyYbO1OZ4bGjBb5.jpg

结果图8

    printf

同c语言,就不外多先容了
    判定语句


  • if
  • if-else
  • if-elseIf
  • case
H5354XaCOgFERb43.jpg

NfYkCEhYiboE70Q5.jpg

结果图9

    test下令

uso5rGOEWo6O5gA6.jpg

LHqWRrpMBwawm2H2.jpg

    for循环

oYKWWCzkHTICyYyH.jpg

iIrYj3FjYyRq699Q.jpg

结果10

    while循环

tAXh66yueHhozdFS.jpg

以上是while循环的两种用法,第一种是比力通例的,实行循环,然后每次都把控制的数加1,就可以让while循环有退出的条件了。
第二种是用户从键盘数据,然后把用户输入的笔墨输出出来。
    跳出循环

vILaxb939OiD9G1H.jpg

    函数

vnoZKYsVojNoyHFK.jpg

    界说一个没有返回值的函数,然后调用该函数
buxc61Z4rWKekYkt.jpg

    界说一个有返回值的函数,调用该函数,输出效果
S2Q0Mv0nL0gbiR0b.jpg

结果图11

J4I4z8DT893WcOqQ.jpg

界说了一个必要通报参数的函数
gA9IJYVK4Yk72WjV.jpg

结果图12

    重定向

qfw11bvHTP80RL00.jpg

    写一个主动输入下令的脚本

    主动提交github堆栈的脚本

r83l3Qgt3RY27318.jpg

LN6iLyi4IhWuZcYo.jpg

结果图13

以上便是我对shell知识的总结,接待各人点赞,批评,一起讨论~~

[color=#3E3E3E ]

————广告时间————

[color=#3E3E3E ]
[color=#3E3E3E ]《马哥Linux云盘算及架构师》课程,由着名Linux布道师马哥建立,履历了8年的发展,团结阿里巴巴、唯品会、大众点评、腾讯、陆金所等大型互联网一线公司的马哥课程团队的工程师举行深度定制开辟,课程接纳 Centos7.2体系讲授,参加了大量实战案例,讲课案例均来自于一线的技能案例。
[color=#3E3E3E ]开课时间:2017年7月10号
[color=#3E3E3E ] yP056W3kw23zP136.jpg
—————限时优惠抢位中—————

wkIn2AVWWJoqNuNN.jpg




上一篇:Shell脚本视频教程
下一篇:Fish shell 入门教程
您需要登录后才可以回帖 登录 | 加入社区

本版积分规则

 

QQ|申请友链|小黑屋|手机版|Hlshell Inc. ( 豫ICP备16002110号-5 )

GMT+8, 2024-5-15 18:28 , Processed in 0.193240 second(s), 47 queries .

HLShell有权修改版权声明内容,如有任何爭議,HLShell將保留最終決定權!

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表