1、Shell编程入门之基础大扫盲


一、shell 编程简介

shell 是操作系统的最外层。shell 合并编程语言以控制进程和文件,以及启动和控制其它程序。shell 通过提示您输入,向操作系统解释该输入,然后处理来自操作系统的任何结果输出来管理您与操作系统之间的交互。Shell 是用户与 Linux 操作系统之间沟通的桥梁。用户可以输入命令执行,又可以利用 Shell 脚本编程去运行。随着 Linux 企业应用越来越多,维护 Linux 日
常工作频繁,所以如果单靠手工去敲打命令是非常困难的,所以学会熟练使用SHELL 编程是每个 Linux SA 必备的功课。

Linux Shell 种类非常多,常见的有:Bourne Shell(/usr/bin/sh 或/bin/sh)、Bourne Again Shell(/bin/bash)、C Shell(/usr/bin/csh)、K Shell(/usr/bin/ksh)、Shell for Root(/sbin/sh)等。不同的 Shell 语言的语法有所不同,所以不能交换使用。

最常用的 shell 是 Bash,也就是 Bourne Again Shell,由于易用和免费,Bash在日常工作中被广泛使用,也是大多数 Linux 系统默认的 Shell。

简而言之:shell就是一个用户与操作系统的之间的命令解释器。或者说是用户与操作系统沟通的桥梁,用户可以输入命令执行,也可以通过shell脚本编程去运行。

二、什么是Shell脚本

单条shell命令的集合
主要功能:

  • 记录命令执行的过程和执行逻辑,以便以后重复执行
  • 批量处理主机
  • 定时处理主机

三、怎么写一个Shell脚本

#!/bin/bash	##幻数(C语言专业术语)(直接使用的东西)
  
  
  
 使用vim自动添加脚本首部
	map <F4> ms:call GHOST_init()<cr>'s    
	##ms:call  表示调用  ##按F4调用GHOST_init()这个函数
	autocmd BufNewFile *.sh,*.script call GHOST_init()  
	## 写一个新的.sh.script结尾的文件会自动调用GHOST_init()
	func GHOST_init()
    	call append(0,"###############################################")
    	call append(1,"# Author:        ghost")
    	call append(2,"# Version:      20201209")
    	call append(3,"# Create_Time:   ".strftime("%Y/%m/%d"))
    	call append(4,"# Mail:          ghost@westos.org")
    	call append(5,"# Info:  ")
    	call append(6,"# ")
    	call append(7,"################################################")
    	call append(8,"")
    	call append(9,"#!/bin/bash")
	endfunc

如果是想要全局设定vim格式只需将该文本到/etc/vimrc里,但一般为了不影响别的用户使用,我这种自定义格式只设置为局部(针对某一用户) 创建~/.vimrc并将上面内容写进去
在这里插入图片描述

在这里插入图片描述
vim个文件测试:
在这里插入图片描述改为自动添加再测试

在这里插入图片描述

在这里插入图片描述
但是自动添加只对新建.sh文件有效,一些老的文件想要增加这个函数调用该怎么办,可以采用新.sh文件自动添加,旧文件手动添加的方式,想怎么加就怎么加
在这里插入图片描述

四、怎么执行一个Shell脚本

脚本编写完毕,如何来执行呢

1).手动在环境中开启指定解释器

  • sh first_shell.sh执行

2).直接在当前环境中运行shell中的指令不开启新的shell

  • source first_shell.sh 执行
  • . first_shell.sh 执行

3).开启脚本中指定的shell并使用此shell环境运行脚本中的指令

  • chmod +x first_shell.sh
  • /xxx/xxx/ first_shell.sh如bash来执行就是 /bin/bash/ first_shell.sh
  • ./ first_shell.sh
    在这里插入图片描述

在这里插入图片描述

五、怎么测试Shell脚本

sh -x /data/newsh  first_shell.sh
	+	    ##运行指令
	不带+	##命令运行的输出

在这里插入图片描述

六、训练题

  1. ip_show.sh 网卡 实现显示当前的主机ip

  2. host_messages.sh 显示当前主机的名称,ip登陆当前主机的用户
    hostname: xxxxx
    ipaddress: xxxx.xxxx.xxx.xxx
    username: root

  3. clear_log.sh 执行次脚本后可以清空日志(所有日志) 通过for循环

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值