美文网首页
第一章 浅尝shell编程

第一章 浅尝shell编程

作者: WangGP | 来源:发表于2017-12-05 00:22 被阅读0次

    By WangGaoPeng

    2017.12.4日是我和我对象的谈恋爱两周年,作为一个IT从业人员,在这个普天同庆的日子里,我终于可以潜下心来学习了......

    这是一篇技术文章,不是撒狗粮的文章,哈哈,话不多说进入今天的Shell编程的正题

    作为一个从业三年的集成商的系统工程师,我觉得自己的发展需要有shell编程来支撑自己的技术体系

    终于在今天晚上可以忍着痛苦来学习了一下shell编程

    Shell之入门的哎口(ECHO)

    在网上学习的知识标准的shell框架是酱紫的

    #!/bin/bash

    #auto print parameter \\简述作用

    # by wgp 2017-12-4    \\作者,创作时间

    在控制台打印输出My name is “名字” 如下:

    echo "My name is WangGaoPeng"

    在控制台打印输出名字

    其实这是不太标准的书写方法,正规的应该是给name一个定义,在echo中引用此变量,如下:

    name=WangGaoPeng

    echo "My name is $name"  \\$name指的就是上面定义的name=WangGaoPeng

    效果嘛和上图是一样的

    在脚本中使用$引用PWD、UID,判断目录路径以及用户UID

    echo $UID

    echo $PWD

    加上这两条然后再/bin/bash运行一下

    如图:出现的/root就是当前所在目录为/root;0就是当前用户的UID为0,不信?不信你就新建一个abc用户,然后给这个脚本一个755权限,自己执行一下试试去。

    使用PWD、UID判断目录路径和UID

    ok,next one,现在说说我刚学的$0 和$1的用法

    继续刚才的脚本,末尾添加

    echo $0

    echo $1

    /bin/bash echo.sh运行如下:

    我们看到$0位置显示的是文件名 对,$0的作用就是显示文件名字了,别的作用作为新手我还不清楚.......

    然后$1位置没有任何东西,纳尼?那应该怎么整呢,从网上学习到,$1的作用就是显示参数的。 

    $1使用方法 /bin/bash echo.sh test 如图 $1的用法

    是不是很神奇,对$1位置显示的就是显示我们指定的参数test,如果想显示两个参数,那就定义

    echo $1 $2即可

    $0 $1的作用 $1的用法

    继续学习

    学习$? $#  $* 以下是我个人总结的,应该面会很窄,但是作为新手理解应该够用了-_-

    $? 判断上一个命令是否执行成功

    $# 判断有多少个参数

    $* 总结有哪些参数

    echo "This \$0 is $0"

    echo "This \$1 is $1"

    echo "This \$2 is $2"

    echo "This \$* is $*"

    echo "This \$? is $?"

    echo "This \$# is $#"

    添加完毕,go on,继续运行一下,如图 不带参数的 echo脚本

    开头的目录名字 UID 什么的我就不说了,$0和$1的用法有人会对反斜杠(\)有疑问,这个反斜杠就是转意的意思,这个$0不做变量使用,就当普通的echo输出用。

    这下就明白了$0的作用还是显示文件名字,但是$1和$2都是空白;

    $*也是空白,因为没有参数啊,不明白看上面的 $*的解释

    $? 因为脚本已经执行,无报错,自然就是0了,想看$0执行错误的看 $0执行错误 image

    $# 也是空白,因为没有加参数啊,-_-!

    接下来,我们在执行脚本的时候,后面加上 wgp jrx 如图 带参数的echo脚本

    这下就一目了然了,参数有两个,所以$#是2,别的我就不解释了,自己对着看吧。

    不带参数的 echo脚本 带参数的echo脚本 $0执行错误

    哎口(ECHO)的Menu的骚操作

    使用echo做一个假假的lamp的安装菜单,这个操作需要另起一个shell文件哦,别忘了标准框架

    echo -e "\033[32m please select Menu follow:\033[1m"

    echo "1)install apache service"

    echo "2)install Mysql service"

    echo "3)install Php service"

    echo "################################"

    效果如图 假假的Menu的脚本

    看我们的字体都变成了原谅绿的颜色

    这是因为echo -e的参数,这是一个标准的套路

    echo -e "\033 [32m *********:\033[1m" \\这里可以写成1m或者32m,1m指的是以下所有的文字的颜色都编程绿色,32m指的是当前这一行变成绿色

    假假的Menu的脚本

    Shell 入门之if else

    艹,先不写了,有点多,我们明天晚上再贱

    相关文章

      网友评论

          本文标题:第一章 浅尝shell编程

          本文链接:https://www.haomeiwen.com/subject/yonfixtx.html