[리눅스 학습] 쉘 스크립팅 언어

little bottle
풀어 주다: 2019-04-08 16:35:47
앞으로
3401명이 탐색했습니다.

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

1.shell简介

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

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

[root@desktop5 mnt]# vim westos.sh#!/bin/bash echo hello westos
로그인 후 복사

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

[root@desktop5 mnt]# sh westos.sh
로그인 후 복사

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

[root@desktop5 mnt]# chmod +x westos.sh [root@desktop5 mnt]# /mnt/westos.sh
로그인 후 복사

2.脚本的检查


 + 表示:执行动作
로그인 후 복사

无+表示:动作输出


方法一:

[root@desktop5 mnt]# sh -x /mnt/westos.sh
로그인 후 복사

[리눅스 학습] 쉘 스크립팅 언어
方法二:

[root@desktop5 mnt]# vim westos.sh#!/bin/bash -xecho hello westos
로그인 후 복사

[리눅스 학습] 쉘 스크립팅 언어


实验一:快捷键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
로그인 후 복사

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

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
로그인 후 복사

测试:

[root@desktop5 mnt]# vim westos.sh        ##按‘F4’执行填充
로그인 후 복사

[리눅스 학습] 쉘 스크립팅 언어

实验二:执行新建以.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
로그인 후 복사

方法二:

[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
로그인 후 복사

[리눅스 학습] 쉘 스크립팅 언어
测试:

[root@desktop5 mnt]# vim file1.sh  ##新建以.sh结尾的文件,自动填充
로그인 후 복사

2.shell脚本练习

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

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

[리눅스 학습] 쉘 스크립팅 언어
测试:

[root@desktop5 mnt]# sh ip_show.sh
로그인 후 복사

[리눅스 학습] 쉘 스크립팅 언어
练习二:显示当前主机中能登陆系统的用户

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

[리눅스 학습] 쉘 스크립팅 언어
测试:
[리눅스 학습] 쉘 스크립팅 언어
练习三:执行命令后可清空日至
方法一:

[root@desktop5 mnt]# vim clear_log.sh#!/bin/bash> /var/log/messages
로그인 후 복사

方法二:

[root@desktop5 mnt]# vim clear_log.sh#!/bin/bashecho "" > /var/log/messages
로그인 후 복사

测试:

[root@desktop5 mnt]# chmod +x clear_log.sh [root@desktop5 mnt]# /mnt/clear_log.sh
로그인 후 복사

[리눅스 학습] 쉘 스크립팅 언어

【推荐课程:linux视频教程

위 내용은 [리눅스 학습] 쉘 스크립팅 언어의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

관련 라벨:
원천:csdn.net
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿