• Shell


    Shell概述

    1. Shell是一个命令行解释器,它为用户提供了一个向 Linux内核发送请求以便运行程序的界面系统级程序,用户可以用Shell来启动、挂起、停止甚至是编写一些程序。

      image-20200515213840684

    2. Shell还是一个功能相当强大的编程语言,易编写,易调试,灵活性较强。Shell是解释执行的脚本语言,在Shell中可以直接调用 Linux系统命令。

    3. Shell分类:

      • Bourne Shell:从1979起Unix就开始使用Bourne Shell,Bourne Shell的主文件名为sh。
      • C Shell: C Shell主要在BSD版的Unix系统中使用,其语法和C语言相类似而得名
    4. Shell的两种主要语法类型有Bourne和C,这两种语法彼此不兼容。Bourne家族主要包括sh、ksh、Bash、psh、zsh;C家族主要包括:csh、tcsh。Linux的标准Shell是Bash,语法结构和Bourne Shell非常类似并且完全兼容。

    5. Bash:Bash与sh兼容,现在使用的Linux就是使用Bash作为用户的基本Shell

    6. /etc/shells中可以查看Linux支持的Shell,在命令行中直接输入Shell名即可切换Shell。

    7. 系统用户的Shell是/sbin/nologinnologin代表该用户不允许登录。

    Shell脚本的执行

    1. echo输出命令

      [root@localhost ~]#echo [选项] [输出内容]
      

      选项:-e 支持反斜线控制的字符转换

      控制字符 作用
      \ 输出本身
      a 输出警告音
       退格键,也就是向左删除键
      c 取消输出行末的换行符。和“-n”选项一致
      e ESCAPE键
      f 换页符
      换行符
      回车键
      制表符,也就是Tab键
      v 垂直制表符
      nnn 按照八进制ASCII码表输出字符。其中0为数字零,nnn是三位八进制数
      xhh 按照十六进制ASCII码表输出字符。其中hh是两位十六进制数

      #echo -e "abc"

      #删除左侧字符,输出ac

      #echo -e "e[1;31m abcd e[0m"
      

      #输出红色的abcd,e[1;color str e[0m是输出颜色的标准用法,表示将strcolor的颜色输出。

      #30m=黑色,31m=红色,32m=绿色,33m=黄色
      #34m=蓝色,35m=洋红,36m=青色,37m=白色
      
    2. 在编写脚本时建议将脚本文件命名为.sh格式,这样在使用Vim的时候会有颜色帮助。我们来看下列这样一个脚本:

      #!/bin/Bash
      #The first program
      # Author: xxxx 
      echo -e "Hello World"
      

      第一行#!/bin/Bash不是注释,而是标志以下写的程序是Shell脚本。第二、三行是注释。

    3. 脚本执行:

      • 赋予执行权限,直接运行

        $ chmod 755 hello.sh
        $ ./hello.sh
        
      • 通过Bash调用执行脚本#bash hello.sh

    4. 在Windows环境下编写的Shell脚本无法直接在Linux下执行,通过#dos2unix xxx.sh命令可以将其进行转换。

  • 相关阅读:
    Unity中的Path对应各平台中的Path
    C#里的装箱、装箱和值类型、引用类型
    unity3D自适应分辨率
    python中的-m参数
    手动安装python包
    python生成器
    HDU 1312 Red and Black(bfs)
    HDU 2553 N皇后问题(dfs)
    HDU1043 Eight(BFS)
    UVa230 Borrowers (STL)
  • 原文地址:https://www.cnblogs.com/yangyu-IoT/p/12898255.html
Copyright © 2020-2023  润新知