shell概述

shell概述

什么是shell?
在linux内核与用户之间的解释器程序。

  • 通常指的是bash,
  • 负责向内核翻译及传达用户/程序指令
  • 相当于操作系统的“外壳”
    在这里插入图片描述

shell的使用方式

  • 交互执行指令:人工干预,执行效率底。
  • 非交互执行指令:安静地在后台执行,执行效率高,方便写脚本。

常见的shell使用种类

若需要临时使用另一种Shell环境,可以直接执行对应的Shell解释器程序,比如只要执行ksh可以切换到ksh命令行环境。

[root@svr1 ~]# yum -y install ksh   //若缺少ksh请先安装ksh包
.. ..
[root@svr1 ~]# cat /etc/shells 
/bin/sh                   //多数Unix默认的shell
/bin/bash                 //多数Linux默认的shell
/sbin/nologin             //非登录shell
/bin/tcsh
/bin/csh
/bin/ksh                  //确认当前系统已识别ksh
[root@svr1 ~]# ksh        //进入ksh环境
[root@svr1]~# exit        //返回到切换前的bash环境

shell脚本创建“三步走”
1、创建文本文件
2、添加可执行的脚本语句(命令行)
3、添加 x 执行权限

[root@svr1 ~]# vim  /root/first.sh      //建文件  
#!/bin/bash                            
echo  'Hello World'           //写脚本语句
exit
[root@svr1 ~]# chmod  +x  /root/first.sh       //添加可执行权限

规范脚本的构成

  • #! 脚本声明 (使用哪种解释器)
  • 注释信息 (步骤、思路、用途、变量含义等)
  • 可执行的语句

脚本的执行方式

1、作为“命令字”:指定脚本文件的路径,前提是有 x 权限

[root@svr1 ~]# ./first.sh            //指定相对路径
[root@svr1 ~]# /root/first.sh        //指定绝对路径

2、作为“参数”:使用bash、sh、source来加载脚本文件

[root@svr1 ~]# bash   first.sh       //开启子进程
[root@svr1 ~]# sh  first.sh          //开启子进程
[root@svr1 ~]# source first.sh       //不开启子进程

shell简单脚本应用

示例 :编写快速装配vsftpd服务的Shell脚本

[root@svr1 ~]# vim  /root/ftpon.sh 
#!/bin/bash
yum  -y  install  vsftpd  &> /dev/null
systemctl  start  vsftpd
systemctl  enable  vsftpd
cp /etc/hosts /var/ftp/pub    //拷贝一个文件,放到FTP共享目录下
[root@svr1 ~]# chmod  +x  /root/ftpon.sh       //添加可执行权限
[root@svr1 ~]# /root/ftpon.sh  //执行脚本,测试效果

[root@svr1 ~]# rpm -q vsftpd   //确认脚本执行结果
vsftpd-3.0.2-10.el7.x86_64

[root@svr1 ~]# systemctl  status  vsftpd
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值