微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

2021-05-07

【●】Shell脚本编辑
一、shell环境及特性
  1.shell
  ●在linux内核与用户间的解释器程序
   —通常指    /bin/bash 
   —负责向内核翻译及传送用户/程序指令
   —相当于系统的“外壳”
  2.shell的使用方式
   ●交互式      ——命令行
    —人工干预、智能化程度高
    —逐条解释执行、效率低
    ●非交互式      ——脚本
    —需要提前设计、智能化难度大
    —批量执行、效率高
    —方便在后台静悄悄地运行
  3.常见的shell程序种类
   如何切换shell环境
   —通过usermod、chsh更换登录shell
   —手动执行目标shell程序
   用户(root)---bash---sh
  ●cat   /etc/shells       # 查看系统中所有的解释器   
   [root@svr7 ~]# cat   /etc/shells 
   /bin/sh                                   #多数Unix认的shell
   /bin/bash                               #多数linux认使用的shell
   /sbin/nologin                        #非登录shell
   /usr/bin/sh
   /usr/bin/bash
  /usr/sbin/nologin
  /bin/tcsh
  /bin/csh
  4.Bash基本特性
 ●命令行环境回顾
   —tab键补全、历史命令、 快捷键、别名、重定向、管道符(管道操作)
 
二、脚本构成及执行
  1.shell脚本
  ●提前写好可执行语句,能够完成特定任务的文件
   —顺序、批量化处理
   —解释型程序
  2.规范的脚本构成
   —声明解释器
       #   !/bin/bash(使用哪种解释器 、写在脚本第一行)
   —编写注释
       #编写步骤、思路、脚本功能、作者信息、变量作用等内容   
   —执行指令
   [root@svr7 ~]# vim  /root/first.sh 
    #!/bin/bash
    #这是第一个测试脚本
    echo  "Hellow World"
    echo   "abc"
 3.脚本创建“三步走”
    —1.     新建文本文件
    —2.     添加可执行的脚本语句(命令行)
    —3.     添加 x 执行权限
   [root@svr7 ~]# vim  /root/first.sh                 #1.建文件
   echo  "Hello World"                                        #2.写脚本语句
   [root@svr7 ~]#chmod  u+x   /root/first.sh       #3.加执行权限
   [root@svr7 ~]# /root/first.sh 
   Hello World
  4.shell脚本执行方式 
    —1.     添加x权限 ,使用绝对路径或相对路径执行
      [root@svr7 opt]# chmod u+x  test01.sh
      [root@svr7 opt]# /opt/test01.sh
    —2.    使用解释器执行脚本,无需x权限(开启子进程,父进程不作任何操作)
      [root@svr7 opt]# bash test01.sh
    —3.使用source  命令执行脚本,无需x权限(不开启子进程,父进程进行操作)
      [root@svr7 opt]# source  test01.sh
三、简单脚本应用
  1.快速配置yum仓库
    [root@svr7 opt]# vim test03.sh
    #!/bin/bash
    #部署yum仓库
    mount  /dev/cdrom  /mydvd
    rm -rf  /etc/yum.repos.d/*.repo
    echo "[abc]
    name=xxx
    baseurl=file:///mydvd
    enabled=1
    gpgcheck=0 " > /etc/yum.repos.d/abc.repo
   [root@svr7 opt]# bash test03.sh
   [root@svr7 opt]# yum repolist 
 2.编写脚本,安装http服务,需要开机自启并且主页显示内容为“web-test~~~”
   [root@svr7 opt]# vim  /opt/test04.sh
    #!/bin/bash
    yum -y install httpd
   echo "web-test~~~" > /var/www/html/index.html   #定义主页内容
   systemctl restart  httpd    #开服务
   systemctl enable   httpd   #设置开机自启

   之后使用 bash  test04.sh   执行脚本
   curl  192.168.4.7   可以看到页面内容
 ◆ 编写脚本,开启ftp服务,并实现开机自启
yum -y install vsftpd &> /dev/null   //安装ftp,不显示任何信息,dev下
的null相当于黑洞,不需要的信息都可以扔到里面让其消失。
   [root@svr7 opt]# vim test05.sh
    #!/bin/bash
    yum -y install vsftpd &> /dev/null             #装包,忽略输出
    systemctl restart vsftpd                               #起服务
    systemctl enable vsftpd                              #设为开机自运行
   [root@svr7 opt]# bash test05.sh
   >         正确信息重定向
   2>       错误信息重定向
   &>      所有信息重定向

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐