详解shell脚本的基础知识

目录

一、shell基础介绍

1.什么是shell

2.shell脚本的意义

3.如何创建shell脚本

4.如何执行shell脚本

5.如何对脚本进行调试

二、练习


一、shell基础介绍

1.什么是shell

shell是脚本中命令的解释器,shell语言是一种解释型语言

2.shell脚本的意义

(1)记录命令执行的过程和执行逻辑,以便以后重复执行
(2)脚本可以批量处理主机
(3)脚本可以定时处理主机

3.如何创建shell脚本

#!/bin/bash        ##幻数,表示常量,脚本中最顶级的进程
用env bash是为了防止shell路径不固定的问题
可以在脚本顶部写#!/bin/env bash         ##用env去调用bash这个程序,这样可以自动检索系统的环境并调用它

vim自动添加脚本首部:
"map <F4> ms:call WESTOSTITLE()<cr>'s
autocmd BufNewFile *.sh,*.script call WESTOSTITLE()
func WESTOSTITLE()
        call append(0,"###############################################")
        call append(1,"# Author:        lee")
        call append(2,"# Version:       ")
        call append(3,"# Create_Time:   ".strftime("%Y/%m/%d"))
        call append(4,"# Mail:          lee@westos.org")
        call append(5,"# Info:  ")
        call append(6,"# ")
        call append(7,"################################################")
        call append(8,"")
        call append(9,"#!/bin/bash")
endfunc

配置文件,编辑主配置文件会影响所有,其他用户也可以添加,应该写在子配置文件,~/.vimrc

"map <F4> ms:call WESTOSTITLE()<cr>'s          手动执行
autocmd BufNewFile *.sh,*.script call WESTOSTITLE()       新文件且以.sh结尾的才有用

4.如何执行shell脚本

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

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

(3)开启脚本中指定的shell并使用此shell环境运行脚本中的指令
chmod +x script.sh   ##赋予脚本执行权限后可直接用绝对路径的方式以脚本中的指定shell调用脚本
/xxx/xxx/script.sh   ##注意:这里必须是绝对路径

./script.sh

5.如何对脚本进行调试

sh -x /mnt/westos.sh

+         ##运行指令

不带+         ##命令运行的输出

二、练习

1
ip_show.sh 网卡 显示当前的IP,没有网卡报错,网卡不存在报错

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


3
clear_log.sh 执行次脚本后可以清空日志,只有root可以清空日志

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Shell脚本是一种用于编写和执行命令的脚本语言。在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)等。\[2\] 在编写Shell脚本文件时,通常需要在文件的最前面添加一行指定解析器的声明,例如#!/bin/bash。这是因为Linux中存在多种解析器,它们之间的语法可能有所不同,通过添加这一声明可以确保使用指定的解析器来执行脚本。\[3\] 在Shell脚本中,可以使用source命令或点号(.)来加载另一个脚本文件。这两种方式都是将指定的脚本内容加载到当前脚本中,并由同一个Shell进程来执行。与之相反,使用sh命令调用另一个脚本会创建一个新的Shell进程来执行,导致父进程中的变量无法在子进程中访问到。\[1\] 总结来说,Shell脚本是一种用于编写和执行命令的脚本语言,可以使用不同的Shell命令解析器来解析和执行脚本。在编写脚本时,需要在文件的最前面添加解析器声明,以确保使用指定的解析器。同时,可以使用source命令或点号(.)来加载另一个脚本文件,而使用sh命令会创建一个新的Shell进程来执行脚本。 #### 引用[.reference_title] - *1* *2* *3* [Linux脚本shell详解](https://blog.csdn.net/footless_bird/article/details/123698139)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insert_down28v1,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值