zoukankan      html  css  js  c++  java
  • 第9章 Shell基础(1)_Shell简介和脚本执行方式

    1. Shell概述

    1.1 Shell简介

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

     

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

    1.2 Shell的分类

    (1)Bourne Shell:从1979年起Unix就开始使用Bourne Shell,其主文件名为sh。

    (2)C Shell:主要在BSD版的Unix系统中使用,其语法和C语言相类似而得名。

    (3)Shell的两种主要语法类型有Bourne和C,这两种语法彼此不兼容。Bourne家族主要包括sh、ksh、Bash、psh、zsh;C家族主要包括:csh、tcsh。

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

    1.3 Linux支持的Shell

    (1)/etc/shells

     

    2. Shell脚本的执行方式

    2.1 echo输出命令

    (1)命令格式:echo [选项] [输出内容] (选项“-e”支持反斜线控制的字符转换)

    控制字符

    作用

    \

    输出本身

    a

    输出警告音

    

    退格键,也就是向左删除一个字符

    c

    取消输出行末的换行符。和“-n”选项一致

    e

    Escape键

    f

    换页符

    换行符

    回车键

    制表符,也就是Tab键

    v

    垂直制表符

    nnn

    按照八进制ASCII码表输出字符。其中0为数字零,nnn是三位八进制数

    xhh

    按照十六进制ASCII码表输出字符。其中hh是两位十六进制数

    (2)应用举例:

      ①# echo 'hello world!' //但不能写成# echo "hello world!" 。因为!有特殊的作用

      ②演示“-e”选项的作用

    [root@localhost ~]# echo "abc"
    abc
    [root@localhost ~]# echo "abc"
    abc
    [root@localhost ~]# echo -e "abc"
    ac
    [root@localhost ~]# echo -e "a	b	c
    d	e	f"
    a       b       c
    d       e       f
    [root@localhost ~]# echo -e "x61	x62	x63"
    a       b       c

      ③输出颜色:#echo -e "e[1;31m abcd e[0m" //e[1;表示开启颜色输出e[0m表示结束颜色输出

        #30m=黑色,31m=红色,32m=绿色,33m=黄色

        #34m=蓝色,35m=洋红,36m=青色,37m=白色

    2.2 第1个脚本程序

    (1)脚本程序

     

    (2)脚本执行

      ①直接运行:

        #chmod 755 hello.sh

        #./hello.sh  //使用绝对路径或相对路径

      ②通用Bash调用执行脚本:

        #bash hello.sh //无须为hello.sh赋执行权限。表示通过bash程序来解释hello.sh文件。

    (3)处理Windows和Unix换行符不同的问题:

      ①Windows中文件换行符为^M$,而Linux下为$,这会导致Windows下编写的bash文件在Linux下不能被正确读取。可以用#cat –A hello.sh查看出来。

      ②解决方案:#dos2unix hello.sh (命令的安装:#yum –y install dos2unix, unix2dos则进行相反的操作)

  • 相关阅读:
    Build 2016: 发布明天的云创新来服务今天的开发者
    微软在Build 2016开发者大会中发布 “认知服务”,牛津计划有正式名字啦!
    流行开源软件云上体验周 ——一种正确的云上开源软件体验姿势!
    让每个人都体验到来自云端的智能
    hdmap相关单词
    绝对误差和相对误差的定义
    高速公路之匝道
    hdmap相关
    虚拟参考站(VRS)
    matlab之结构体数组struct
  • 原文地址:https://www.cnblogs.com/5iedu/p/6219208.html
Copyright © 2011-2022 走看看