bash支持一维数组(不支持多维数组),并且没有限定数组的大小,初始化时不需要定义数组大小。
数组元素的下标
- 由 0 开始编号,应大于或等于0
- 可以不使用连续的下标
- 下标的范围没有限制
- 获取数组中的元素要利用下标
定义数组
在Shell中,用括号来表示数组,数组元素用”空格”符号分割开。定义数组的一般形式为:数组名=(值1 值2 ... 值n)
,例如:
|
|
还可以单独定义数组的各个分量:
|
|
独立开发,自由职业
bash支持一维数组(不支持多维数组),并且没有限定数组的大小,初始化时不需要定义数组大小。
数组元素的下标
在Shell中,用括号来表示数组,数组元素用”空格”符号分割开。定义数组的一般形式为:数组名=(值1 值2 ... 值n)
,例如:
|
|
还可以单独定义数组的各个分量:
|
|
字符串是shell编程中最常用最有用的数据类型。字符串可以用单引号,也可以用双引号,也可以不用引号;区别如下。
|
|
单引号字符串的限制:
|
|
双引号的优点:
使用一个定义过的变量,只要在变量名前面加美元符号即可,如:
|
|
变量名外面的花括号是可选的,加不加都行,加花括号是为了帮助解释器识别变量的边界。推荐给所有变量加上花括号(尤其是变量后面没有空格、而是其他字符时),这是个好的编程习惯。
使用 readonly 命令可以将变量定义为只读变量:
|
|
学会外包,只是形式。真正要学会的是,只做核心业务。
今天心里简单核算了下 EAWiFi 的投入,发现比之前预想的要多很多。而且,很多精力都花在了服务器的搭建和维护上。而这部分并不是整个项目的核心部分,而且也很容易外包出去,即使用现有的服务。如果当初这么做的话,明显可以降低前期投入、加快进度。
一个人的精力有限,能做的事也非常有限。所以,一定要只做最核心的部分,做精、做专。其他的,外包出去。
本来以为 EAWiFi 已经比较完善了,结果遇到了几个用户的实际问题,发现之前一些明显的漏洞需要改进。解决问题后,又觉得更好了。但我知道,当碰到新的实际问题后,就又会发现现在觉得完美的东西,有明显的错误。
没有长时间的的浸淫,是不可能成为专家、也不可能做出精品的。只有亲自经历了用户遇到的各种实际问题,并不断地想满足用户需求的新方法、改进已有的设计,才能让产品越来越好。
要做精品,沉下心、钻进去。