最新公告
  • 欢迎您光临立业阁,本站秉承服务宗旨 履行“站长”责任,销售只是起点 服务永无止境!立即加入我们
  • 【Linux学习】shell脚本语言_linux教程


    shell 是操作系统中“提供使用者使用界面”的软件,它包在 linux 内核的外面,为用户和内核之间的交互提供了一个接口,系统中的命令用 shell 去解释,shell 接收系统回应的输出并显示其到屏幕中。

    1.shell简介

    • 解释性语言——shell脚本、python,运行效率低,基本只适用企业内部
      shell——脚本,记录系统命令及命令执行的系统关系,充当解释器
      gcc ——编译器
      vim ——编辑器
    #!/bin/bash          幻数,指定解释器#!/usr/bin/env bash  自动匹配解释器
    • 描述性语言——C语言、java,执行效率高

    1.脚本的调用
    脚本(一般以.sh结尾):

    [[email protected] mnt]# vim westos.sh#!/bin/bash echo hello westos

    方法一:无执行权限,用sh调用

    [[email protected] mnt]# sh westos.sh

    方法二:有执行权限,用绝对路径调用

    [[email protected] mnt]# chmod +x westos.sh [[email protected] mnt]# /mnt/westos.sh

    2.脚本的检查


     + 表示:执行动作

    无+表示:动作输出


    方法一:

    [[email protected] mnt]# sh -x /mnt/westos.sh

    这里写图片描述
    方法二:

    [[email protected] mnt]# vim westos.sh#!/bin/bash -xecho hello westos

    这里写图片描述


    实验一:快捷键F4执行填充
    方法一:

    [[email protected] mnt]# vim /etc/vimrc map <F4> ms:call WESTOS()<cr>'s       
    ##ms:执行命令时,不提示报错function WESTOS()         
    call append(0,"#################################")         
    call append(1,"# Author :       Hao            #")         
    call append(2,"# Mail :         [email protected] #")         
    call append(3,"# Version :      1.0            #")         
    call append(4,"# Create_Time:   ".strftime("%Y-%m-%d")."     #")    ##时间更新
    call append(5,"# Description:                  #")         
    call append(6,"#################################")
    endfunction

    方法二:利用.来承接后面的#

    map <F4> ms:call WESTOS()<cr>'sfunction WESTOS()         
    call append(0,"#################################")         
    call append(1,"# Author :       Hao".("            #"))         
    call append(2,"# Mail :         [email protected]".(" #"))         
    call append(3,"# Version :      1.0           ".(" #"))         
    call append(4,"# Create_Time:   ".strftime("%Y-%m-%d").("     #"))         
    call append(5,"# Description:                 ".(" #"))         
    call append(6,"#################################")
    endfunction

    测试:

    [[email protected] mnt]# vim westos.sh        ##按‘F4’执行填充

    这里写图片描述

    实验二:执行新建以.sh结尾的vim文件时,自动填充
    注意:旧文件不自动填充
    方法一:

    [[email protected] mnt]# vim /etc/vimrc autocmd BufNewFile *.sh exec ":call WESTOS()"    ##新文件,以.sh结尾,执行,调用文件"map <F4> ms:call WESTOS()<cr>'s           ##此行注释,在此"表注释function WESTOS()
             call append(0,"#################################")
             call append(1,"# Author :       Hao            #")
             call append(2,"# Mail :         [email protected] #")
             call append(3,"# Version :      1.0            #")
             call append(4,"# Create_Time:   ".strftime("%Y-%m-%d")."     #")
             call append(5,"# Description:                  #")
             call append(6,"#################################")
             call append(7,"")
             call append(8,"#!/bin/bash")endfunction

    方法二:

    [[email protected] mnt]# vim /etc/vimrc autocmd BufNewFile *.sh exec ":call WESTOS()""map <F4> ms:call WESTOS()<cr>'s
    function WESTOS()
             call append(0,"#################################")
             call append(1,"# Author :       Hao".("            #"))
             call append(2,"# Mail :         [email protected]".(" #"))
             call append(3,"# Version :      1.0           ".(" #"))
             call append(4,"# Create_Time:   ".strftime("%Y-%m-%d").("     #"))
             call append(5,"# Description:                 ".(" #"))
             call append(6,"#################################")
             call append(7,"")
             call append(8,"#!/bin/bash")
    endfunction

    这里写图片描述
    测试:

    [[email protected] mnt]# vim file1.sh  ##新建以.sh结尾的文件,自动填充

    2.shell脚本练习

    练习一:显示当前主机ip地址

    [[email protected] mnt]# vim ip_show.sh#!/bin/bashifconfig eth0 | awk -F " " '/inet /{print $2}'  ##inet所在行,以空格间隔,第二个字符

    这里写图片描述
    测试:

    [[email protected] mnt]# sh ip_show.sh

    这里写图片描述
    练习二:显示当前主机中能登陆系统的用户

    [[email protected] mnt]# vim user_show.sh#!/bin/bashawk -F : '/bash$/{print $1}' /etc/passwd      ##以bash结尾,打印出第一个字符

    这里写图片描述
    测试:
    这里写图片描述
    练习三:执行命令后可清空日至
    方法一:

    [[email protected] mnt]# vim clear_log.sh#!/bin/bash> /var/log/messages

    方法二:

    [[email protected] mnt]# vim clear_log.sh#!/bin/bashecho "" > /var/log/messages

    测试:

    [[email protected] mnt]# chmod +x clear_log.sh [[email protected] mnt]# /mnt/clear_log.sh

    这里写图片描述

    【推荐课程:linux视频教程

    以上就是【Linux学习】shell脚本语言的详细内容,更多请关注liyege.cn其它相关文章!

    常见问题FAQ

    免费下载或者VIP会员专享资源能否直接商用?
    本站所有资源版权均属于原作者所有,这里所提供资源均只能用于参考学习用,请勿直接商用。若由于商用引起版权纠纷,一切责任均由使用者承担。更多说明请参考 VIP介绍。
    提示下载完但解压或打开不了?
    最常见的情况是下载不完整: 可对比下载完压缩包的与网盘上的容量,若小于网盘提示的容量则是这个原因。这是浏览器下载的bug,建议用百度网盘软件或迅雷下载。若排除这种情况,可在对应资源底部留言,或 联络我们.。
    找不到素材资源介绍文章里的示例图片?
    对于PPT,KEY,Mockups,APP,网页模版等类型的素材,文章内用于介绍的图片通常并不包含在对应可供下载素材包内。这些相关商业图片需另外购买,且本站不负责(也没有办法)找到出处。 同样地一些字体文件也是这种情况,但部分素材会在素材包内有一份字体下载链接清单。
    • 1176会员总数(位)
    • 111858资源总数(个)
    • 2本周发布(个)
    • 0 今日发布(个)
    • 246稳定运行(天)

    提供最优质的资源集合

    立即查看 了解详情
    冀ICP备19022365号-1 百度地图

    [email protected]

    立业阁(www.liyege.cn)免费提供wordpress主题模板、dedecms模板、帝国cms模板、小说网站源码、电影网站源码以及网络技术分享,建站源码,小说模板,电影模板,网赚教程,VPS推荐