Heim > Betrieb und Instandhaltung > Betrieb und Wartung von Linux > [Linux-Lernen] Shell-Skriptsprache

[Linux-Lernen] Shell-Skriptsprache

little bottle
Freigeben: 2019-04-08 16:35:47
nach vorne
3427 Leute haben es durchsucht

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

1.shell简介

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

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

[root@desktop5 mnt]# vim westos.sh#!/bin/bash echo hello westos
Nach dem Login kopieren

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

[root@desktop5 mnt]# sh westos.sh
Nach dem Login kopieren

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

[root@desktop5 mnt]# chmod +x westos.sh [root@desktop5 mnt]# /mnt/westos.sh
Nach dem Login kopieren

2.脚本的检查


 + 表示:执行动作
Nach dem Login kopieren

无+表示:动作输出


方法一:

[root@desktop5 mnt]# sh -x /mnt/westos.sh
Nach dem Login kopieren

[Linux-Lernen] Shell-Skriptsprache
方法二:

[root@desktop5 mnt]# vim westos.sh#!/bin/bash -xecho hello westos
Nach dem Login kopieren

[Linux-Lernen] Shell-Skriptsprache


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

[root@desktop5 mnt]# vim /etc/vimrc map <F4> ms:call WESTOS()<cr>&#39;s       
##ms:执行命令时,不提示报错function WESTOS()         
call append(0,"#################################")         
call append(1,"# Author :       Hao            #")         
call append(2,"# Mail :         Hao@westos.com #")         
call append(3,"# Version :      1.0            #")         
call append(4,"# Create_Time:   ".strftime("%Y-%m-%d")."     #")    ##时间更新
call append(5,"# Description:                  #")         
call append(6,"#################################")
endfunction
Nach dem Login kopieren

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

map <F4> ms:call WESTOS()<cr>&#39;sfunction WESTOS()         
call append(0,"#################################")         
call append(1,"# Author :       Hao".("            #"))         
call append(2,"# Mail :         Hao@westos.com".(" #"))         
call append(3,"# Version :      1.0           ".(" #"))         
call append(4,"# Create_Time:   ".strftime("%Y-%m-%d").("     #"))         
call append(5,"# Description:                 ".(" #"))         
call append(6,"#################################")
endfunction
Nach dem Login kopieren

测试:

[root@desktop5 mnt]# vim westos.sh        ##按‘F4’执行填充
Nach dem Login kopieren

[Linux-Lernen] Shell-Skriptsprache

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

[root@desktop5 mnt]# vim /etc/vimrc autocmd BufNewFile *.sh exec ":call WESTOS()"    ##新文件,以.sh结尾,执行,调用文件"map <F4> ms:call WESTOS()<cr>&#39;s           ##此行注释,在此"表注释function WESTOS()
         call append(0,"#################################")
         call append(1,"# Author :       Hao            #")
         call append(2,"# Mail :         Hao@westos.com #")
         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
Nach dem Login kopieren

方法二:

[root@desktop5 mnt]# vim /etc/vimrc autocmd BufNewFile *.sh exec ":call WESTOS()""map <F4> ms:call WESTOS()<cr>&#39;s
function WESTOS()
         call append(0,"#################################")
         call append(1,"# Author :       Hao".("            #"))
         call append(2,"# Mail :         Hao@westos.com".(" #"))
         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
Nach dem Login kopieren

[Linux-Lernen] Shell-Skriptsprache
测试:

[root@desktop5 mnt]# vim file1.sh  ##新建以.sh结尾的文件,自动填充
Nach dem Login kopieren

2.shell脚本练习

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

[root@desktop5 mnt]# vim ip_show.sh#!/bin/bashifconfig eth0 | awk -F " " &#39;/inet /{print $2}&#39;  ##inet所在行,以空格间隔,第二个字符
Nach dem Login kopieren

[Linux-Lernen] Shell-Skriptsprache
测试:

[root@desktop5 mnt]# sh ip_show.sh
Nach dem Login kopieren

[Linux-Lernen] Shell-Skriptsprache
练习二:显示当前主机中能登陆系统的用户

[root@desktop5 mnt]# vim user_show.sh#!/bin/bashawk -F : &#39;/bash$/{print $1}&#39; /etc/passwd      ##以bash结尾,打印出第一个字符
Nach dem Login kopieren

[Linux-Lernen] Shell-Skriptsprache
测试:
[Linux-Lernen] Shell-Skriptsprache
练习三:执行命令后可清空日至
方法一:

[root@desktop5 mnt]# vim clear_log.sh#!/bin/bash> /var/log/messages
Nach dem Login kopieren

方法二:

[root@desktop5 mnt]# vim clear_log.sh#!/bin/bashecho "" > /var/log/messages
Nach dem Login kopieren

测试:

[root@desktop5 mnt]# chmod +x clear_log.sh [root@desktop5 mnt]# /mnt/clear_log.sh
Nach dem Login kopieren

[Linux-Lernen] Shell-Skriptsprache

【推荐课程:linux视频教程

Das obige ist der detaillierte Inhalt von[Linux-Lernen] Shell-Skriptsprache. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
Quelle:csdn.net
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage