本文以示例和注释的方式,对Shell编程的基本知识点进行了总结和回顾,所有脚本均已做了基本的调试和验证。

简明Shell入门

01 - 第一个脚本

脚本的定义、执行方法以及echo命令。

02 - 变量

变量的定义、分类和读取方法。

03 - 字符串

字符串的拼接、截取、匹配和替换方法。

04 - 判断

利用if/else语句进行流程控制和test命令进行条件测试。

05 - 条件

利用case语句进行流程控制以及注意事项。

06 - 循环语句

利用for循环、while循环、until循环进行流程控制和跳出循环的方法。

07 - 数组

数组的定义、元素读取和操作方法。

08 - 函数

函数的定义、参数传递和返回值。

09 - 重定向

文件描述符的定义和重定向的操作方法。

10 - 管道

管道的基本使用方法和注意事项,以及如何结合xargs命令使用。

11 - 调用

在脚本中调用其他脚本的方法和注意事项。

12 - 定制输出

设置输出属性的方法,例如指定字体及背景等。

13 - 用户输入

分别利用脚本参数位置、shift、read和getopts实现用户输入的方法和注意事项。

14 - 操作符

总结并简述常用Shell操作符。

15 - 调试

调试Shell脚本的方法和常用调试选项。

获取示例脚本

测试环境

[root@CentOS7 ~]# uname -a
Linux CentOS7 3.10.0-514.el7.x86_64 #1 SMP Tue Nov 22 16:42:41 UTC 2016 x86_64 x86_64 x86_64 GNU/Linux
[root@CentOS7 ~]#
[root@CentOS7 ~]# cat /etc/redhat-release
CentOS Linux release 7.3.1611 (Core)
[root@CentOS7 ~]#
[root@CentOS7 ~]# bash --version
GNU bash, version 4.2.46(1)-release (x86_64-redhat-linux-gnu)
Copyright (C) 2011 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html> This is free software; you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.
[root@CentOS7 ~]#

其他信息

Shell - 简明Shell入门的更多相关文章

  1. Shell - 简明Shell入门01 - 第一个脚本(HelloShell)

    示例脚本及注释 #!/bin/bash echo "hello shell!" # 打印字符串"hello shell!" echo "Date: & ...

  2. Shell - 简明Shell编程

    本文是对Shell脚本编程的总结和回顾,所有涉及的脚本均已做了基本的调试和验证. [toc] 测试环境信息 [root@CentOS7 ~]# uname -a Linux CentOS7 3.10. ...

  3. Shell - 简明Shell入门15 - 调试(Debug)

    示例脚本及注释 #!/bin/bash -x for filename in t1 t2 t3 do touch $filename.txt echo "Create new file: $ ...

  4. Shell - 简明Shell入门14 - 操作符(Operator)

    示例脚本及注释 #!/bin/bash echo "No code, just some comments." # ### 通配符 # * 代表任意(0个或多个)字符 # ? 代表 ...

  5. Shell - 简明Shell入门13 - 用户输入(UserInput)

    示例脚本及注释 1 - arguments #!/bin/bash if [ -n "$1" ];then # 验证参数是否传入 echo "The first para ...

  6. Shell - 简明Shell入门12 - 定制输出(ColorOutput)

    示例脚本及注释 #!/bin/bash echo -e "\033[32m" # 设置输出属性,绿色字体 echo "This is a test!" echo ...

  7. Shell - 简明Shell入门11 - 调用脚本(CallTheScript)

    示例脚本及注释 主脚本: CallTheScript.sh #!/bin/bash . ./11-subscript.sh # 调用其他脚本;注意点号"."和文件路径之间有一空格; ...

  8. Shell - 简明Shell入门09 - 重定向(Redirection)

    示例脚本及注释 #!/bin/bash pwd > 1.log # 输出重定向到指定文件 date 1> 1.log # ">"与"1>" ...

  9. Shell - 简明Shell入门08 - 函数(Function)

    示例脚本及注释 #!/bin/bash function Check() # 使用function定义函数 { Say # 通过函数名直接调用函数 if test $1 then return 0 # ...

随机推荐

  1. WMS专业术语&系统功能操作培训

    逻辑层:公司.分部.地区物理层:仓库.1个仓库只能属于思维的1个地区.命名规则:SCPRD_WMWHSE1货主:纳思达多货主:1个仓库可以配置1个或多个货主SKU:物料代码(stock keeping ...

  2. f5 主备模式切换

    f5 主备模式  主机down自动切换到备  原主机重新启动,自动切换到原主机

  3. tiny4412 --Uboot移植(3) 时钟

    开发环境:win10 64位 + VMware12 + Ubuntu14.04 32位 工具链:linaro提供的gcc-linaro-6.1.1-2016.08-x86_64_arm-linux-g ...

  4. docker 支持ipv6 (核心要点是ndp需要把docker内的ip全部加入到ndplist中来)

    IPv6 with Docker Estimated reading time: 10 minutes The information in this section explains IPv6 wi ...

  5. 代码之髓读后感——名字&作用域&类型

    名字和作用域 为什么要取名 看着代码中遍地都是的变量,函数,或多或少的我们都应该想过,为什么会有这些名字呢? 我们知道,计算机将数据存储到对应的物理内存中去.我们的操作就是基于数据的.我们需要使用这些 ...

  6. 第一次在线latex的使用

    发现了一个神奇的网站,overleaf 以下是基于默认模板写的. \documentclass[a4paper]{article} %% Language and font encodings \us ...

  7. 201621123002《JAVA程序设计》第五周学习总结

    1. 本周学习总结 1.1 写出你认为本周学习中比较重要的知识点关键词 接口 interface关键字 implements关键字 Comparable abstract Comparator 1.2 ...

  8. SSM三大框架整合

    三大框架整合的思路 1.Dao层: Mybatis的配置文件:SqlMapConfig.xml 不需要配置任何内容,需要有文件头.文件必须存在. applicationContext-dao.xml: ...

  9. IoGetRelatedDeviceObject学习

    PDEVICE_OBJECT IoGetRelatedDeviceObject( IN PFILE_OBJECT FileObject ) /*++ Routine Description: This ...

  10. Json 简记

    JSON : JavaScript Object Notation ---- JavaScript 对象表示语法 Json  比  XML 小,比 xml 快 ==================== ...