• 架构师的成长之路初片~shell-1


    1,什么是shell

    Linux内核用户之间的解释器程序

    通常指 /bin/bash

    负责向内核翻译及传达用户/程序指令

    相当于操作系统的“外壳”

    2Shell的使用方式

    交互式   —— 命令行

    人工干预、智能化程度高

    逐条解释执行、效率低

    非交互式 —— 脚本

    需要提前设计、智能化难度大

    批量执行、效率高

    方便在后台静悄悄地运行

    3,什么是Shell脚本?

    提前写好可执行语句,能够完成特定任务的文件

    顺序、批量化处理

    [root@svr7 ~]# cat /etc/shells   //查看所有解释器

    [root@svr7 ~]# sh   //切换成sh解释器

    sh-4.2# ls    //利用sh解释器输入命令

    sh-4.2#exit   //退出sh解释器

    [root@svr7 ~]#yum -y install ksh   //安装新解释器

    [root@svr7 ~]#ksh   //进入新解释器

    -------------------------------------------------------------------------------------------

    Bash优点,支持tab键、快捷键、别名、历史命令、管道、重定向

    ------------------------------------------------------------

    二,脚本的编写与执行

     编写脚本的规范:

    1, 声明解释器

    #!/bin/bash

    2, 注释

    #注释的内容可以是脚本功能描述、作者介绍等信息

    3, 执行指令

     

    脚本的执行方式:

    1, 添加x权限 使用绝对或者相对路径执行

    chmod  +x  test01.sh

    2,使用解释器执行脚本,无需x权限,会开启子进程

    bash test01.sh

    bash---bash echo abc  mkdir xyz  cd xyz    //该方式会在bash父进程中开启一个bash子进程,然后由子进程执行任务命令

    将之前脚本修改为:

    #!/bin/bash

    echo abc

    mkdir xyz

    cd xyz

    //使用bash执行看不到进入xyz目录的效果,因为bash开启了子进程

    执行完毕后退出了,父进程并没有进入xyz目录,而使用source执行脚

    本可以看到进入xyz目录,因为没有开启子进程,而是父进程亲自进入

    该目录

     

    3,使用source命令执行脚本,无需x权限,不会开启子进程

    source test01.sh

    bash echo abc  mkdir xyz  cd xyz    //该方式由父进程亲自执行任务命令

     

     

     

     

     

     

     

     

  • 相关阅读:
    ios 常见性能优化
    ios Standard Framework和Umbrella Framework
    lua 中容易忘记的细节
    python md5
    lua table 排序
    centos 图形模式与命令行模式设置
    python 中关于 json 的一些相关操作
    python3 入门基础
    lua 函数
    sublime 自定义配置python开发环境
  • 原文地址:https://www.cnblogs.com/ahaocloud/p/14374553.html
Copyright © 2020-2023  润新知