Shell学习:结构化语句
数组数组(Array)是若干数据的集合,其中的每一份数据都称为元素(Element)。 Bash只支持一维数组(不支持多维数组),初始化时不需要定义数组大小,理论上可以存放无限量的数据。 与大部分编程语言类似,数组元素的下标由0开始。 Shell数组用括号来表示,元素用”空格”符号分割开。格式如下: 1array_name=(ele1 ele2 ele3 ... elen) Tips:赋值号=两边不能有空格,必须紧挨着数组名和数组元素。 获取数组中的元素要使用下标[],下标可以是一个整数,也可以是一个结果为整数的表达式;当然,下标必须大于等于0。格式如下: 1${array_name[index]} Tips:array_name是数组名,index是下标。 Shell是弱类型的,它并不要求所有数组元素的类型必须相同,例如: 1arr=(10 24 'ddd' 'ab22'...
网络基础:基本概念
网络构成通常情况下,一个网络包括三部分,分别是网络主机、网络线路和网络设备。 网络主机网络主机是指具有网络接口设备(网卡)的主机,如计算机、手机、平板、智能终端等。通常情况下,计算机又分为云服务器、虚拟主机和物理主机。 网络线路网络线路就是指传输数据的方式。通常情况下,人们使用的网络线路有有线和无线两种。 有线就是指通过使用网线的方式连接网络,这种方式限制了设备之间的距离,但是数据传输比较稳定; 无线是指通过无线协议实现数据传输和网络连接。但是,无线传输方式容易被电磁波干扰,尤其是墙壁等障碍物对无线信号影响较大。 网络设备网络设备是指使用网线将网络主机连接到一起的设备,如集线器、交换机和路由器。 数据传输数据传输是指数据从网络主机上通过网络线路传输到另外一台网络主机上。 网络类型依据不同标准,网络有不同的分类方法。根据地理位置分类,网络可以分为局域网、城域网、广域网3种。其中,网络类型不同,数据传输模式不同,数据传输的复杂程度也不同。 局域网局域网(Local Area...
Shell学习:调试脚本
ver:1.0 调试脚本所花费的时间常常比编写代码还要多。所有编程语言都应该实现的一个特性就是在出现始料未及的情况时,能够生成跟踪信息。调试信息可以帮你弄清楚是什么原因使得程序行为异常。 使用sh -x调试运行带有sh -x选项的脚本可以打印出所执行的每一行命令以及当前状态。 123sh -x script.sh# 或者bash -x script.sh 例如test.sh 12345#!/bin/bash for i in {103..109}; do echo $idone 执行sh -x test.sh 123456789101112131415161718192021+ for i in '{103..109}'+ echo 103103+ for i in '{103..109}'+ echo 104104+ for i in '{103..109}'+ echo 105105+ for i in...
Shell学习:语法规范
背景使用哪一种Shell可执行文件必须以 #!/bin/bash 和最小数量的标志开始。请使用 set 来设置shell的选项,使得用 <script_name>调用你的脚本时不会破坏其功能。 推荐使用: 1#!/usr/bin/env bash env一般固定在/usr/bin目录下,而其余解释器的安装位置就相对不那么固定。 限制所有的可执行Shell脚本为bash使得我们安装在所有计算机中的shell语言保持一致性。 无论你是为什么而编码,对此唯一例外的是当你被迫时可以不这么做的。其中一个例子是Solaris SVR4包,编写任何脚本都需要用纯Bourne shell。 12[root@test ~]# echo $SHELL/bin/bash 什么时候使用Shell使用Shell需要遵守的一些准则: 如果你主要是在调用其他的工具并且做一些相对很小数据量的操作,那么使用Shell来完成任务是一种可接受的选择。 如果你在乎性能,那么请选择其他工具,而不是使用Shell。 如果你发现你需要使用数据而不是变量赋值(如 ${PHPESTATUS}...
Shell学习:变量
变量类型变量可分为两类:环境变量(可以看作全局变量)和普通变量(局部变量)。 环境变量环境变量一般是指用export内置命令导出的变量,用于定义Shell的运行环境,保证Shell命令的正确执行。 按照语法规范,环境变量名的字母必须为大写。 同时,子Shell进程可以继承父Shell中的环境变量。 定义环境环境变量三个方式: 123456789# 方式一export ENV_VAR="haha"# 方式二ENV_VAR="haha"export ENV_VAR# 方式三declare -x ENV_VAR="haha" 通过env可以查看所有环境变量。 PATH环境变量PATH环境变量,它决定了Shell调用命令时的搜索路径。例如: 1export PATH=/usr/local/python/bin:$PATH 设置全局变量并永久生效可以配置在以下文件内: 12345/etc/profile/etc/bashrc#...