欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

linux——Shell脚本说明、创建、执行、调试

程序员文章站 2022-07-12 12:07:55
...

一、什么是Shell

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

  • bash = GNU Bourne-Again Shell

二、Shell脚本及其存在的意义

脚本是一种解释型语言
用shell脚本保存执行动作
用脚本判定命令的执行条件
用脚本来实现动作的批量执行

三、脚本的创建、执行、调试

  • 创建

一般创建脚本时,需要注明创建的信息——创建者、版本(手动填写)、邮箱、时间、描述(手动填写)
#!/bin/bash ##幻数
文件不以.sh结尾时,编辑语言没有语法高亮

  • 编辑文件时,按F4键会出现以下内容
##################################
# Author:        tutu            #
# Version:                       #
# Mail:                          #
# Date:          2018-06-09      #
# Description:                   #
#                                #
##################################

#!/bin/bash

linux——Shell脚本说明、创建、执行、调试

[aaa@qq.com mnt]# vim file.sh 
##编辑文件时,按F4键会出现以下内容
[aaa@qq.com mnt]# cat file.sh 
##################################
# Author:        tutu            #
# Version:                       #
# Mail:                          #
# Date:          2018-06-09      #
# Description:                   #
#                                #
##################################

#!/bin/bash
  • 在编辑以.sh新文件时会自动出现信息,旧文件不会出现
    linux——Shell脚本说明、创建、执行、调试
[root@client mnt]# vim /etc/vimrc 
[root@client mnt]# cat /etc/vimrc | tail -n 14
"map <F4> ms:call WESTOS()<cr>'s  ##注释掉
autocmd BufNewFile *.sh exec ":call WESTOS()"
##在编辑以.sh新文件时会自动出现,旧文件不会出现
func WESTOS ()
    call append(0,"##################################")
    call append(1,"# Author:        tutu".("            #"))
    call append(2,"# Version:           ".("            #"))
    call append(3,"# Mail:              ".("            #"))
    call append(4,"# Date:          ".strftime("%Y-%m-%d").("      #"))
    call append(5,"# Description:       ".("            #"))
    call append(6,"#                    ".("            #"))
    call append(7,"##################################")
    call append(8,"  ")
    call append(9,"#!/bin/bash")
endfunc
  • 调试与执行
    首先创建一个脚本
[aaa@qq.com mnt]# vim date.sh
[aaa@qq.com mnt]# cat date.sh 
##################################
# Author:        tutu            #
# Version:                       #
# Mail:                          #
# Date:          2018-06-12      #
# Description:                   #
#                                #
##################################

#!/bin/bash
date
[aaa@qq.com mnt]#

进行调试与执行

[root@localhost mnt]# sh -x date.sh   ##调试
[root@localhost mnt]# /mnt/date.sh   ##失败,没有可执行权限
[root@localhost mnt]# sh /mnt/date.sh 
##成功,没有可执行权限仍然可以
[root@localhost mnt]# chmod +x /mnt/date.sh 
[root@localhost mnt]# /mnt/date.sh   ##成功

linux——Shell脚本说明、创建、执行、调试

练习:

  • 创建一个脚本——建立用户并添加密码,用户存在时不建立,不存在时建立

linux——Shell脚本说明、创建、执行、调试

[root@localhost mnt]# sh user_create.sh 
Please input a username and password after script!!
[root@localhost mnt]# id tutu
id: tutu: no such user
[root@localhost mnt]# id student
uid=1000(student) gid=1000(student) groups=1000(student),10(wheel)
[root@localhost mnt]# sh user_create.sh student student
student is exist!!
[root@localhost mnt]# sh user_create.sh tutu tutu
Changing password for user tutu.
passwd: all authentication tokens updated successfully.
[root@localhost mnt]#

linux——Shell脚本说明、创建、执行、调试

相关标签: linux