当前位置: 首页 > news >正文

大连制作网站软件品牌推广方案案例

大连制作网站软件,品牌推广方案案例,郑州哪些公司做网站比较好,百度站长资源管理一、 Linux shell 脚本编程中的数组概述 数组是一种常见的数据结构。跟大多数编程语言一样#xff0c;大多数Linux shell脚本支持数组#xff0c;但对数组的支持程度各不相同#xff0c;比如数组的维度#xff0c;是支持一维数组还是多维数组#xff1f;再如#xff0c;…一、 Linux shell 脚本编程中的数组概述 数组是一种常见的数据结构。跟大多数编程语言一样大多数Linux shell脚本支持数组但对数组的支持程度各不相同比如数组的维度是支持一维数组还是多维数组再如数组元素的下标是从 0 开始还是从1开始则因shell而异下面我们以zsh、sh、bash为例来讲解。 二、数组的定义 在Linux shell脚本编程中定义数组有两种方法。 一数组名(数值1 数值2 …… 数值n) 数值之间用空格间隔。 实例 1.在zsh中 1在命令行定义 # csdn edu in ~ [21:37:32]  $ a(1 a b) # csdn edu in ~ [21:37:42]  $ echo $a 1 a b 我们首先用命令 a(1 a b) 定义了数组a 然后用命令  echo $a 显示数组a 的元素。 2在脚本文件中定义 # csdn edu in ~ [22:20:47] C:1 $ echo a(1 a b) a.sh  # csdn edu in ~ [22:21:31]  $ echo echo $a a.sh # csdn edu in ~ [22:21:48]  $ cat a.sh a(1 a b) echo $a # csdn edu in ~ [22:21:51]  $ source ./a.sh 1 a b # csdn edu in ~ [22:22:01]  $  在上面的实例中我们首先使用使用echo 输出重定向方式将数组定义语句 echo a(1 a b) a.sh  写入脚本文件 a.sh 然后 将 显示数组a元素的命令 echo echo $a a.sh 写入脚本文件 a.sh 接下来我们使用cat命令查看脚本文件 a.sh的内容 a(1 a b) echo $a 最后我们使用命令 source ./a.sh  执行脚本文件a.sh。 注意在上面创建的脚本文件 a.sh中我们没有在第一行写入shebang或hashbang语句来指定脚本解释器。 2.在sh中 1在命令行定义 [csdn ~]$ exec sh sh-4.2$ a(1 a b) sh-4.2$ echo $a 1 sh-4.2$  2在脚本文件中定义 sh-4.2$ echo a(1 a b) a.sh sh-4.2$ echo echo $a a.sh sh-4.2$ cat a.sh a(1 a b) echo $a sh-4.2$ . a.sh sh: .: a.sh: file not found sh-4.2$ source ./a.sh 1 sh-4.2$  3.在bash中 1在命令行定义 # csdn edu in ~ [23:27:45] C:127 $ exec bash [csdn ~]$ echo $0 bash [csdn ~]$ a(1 a b) [csdn ~]$ echo $a 1 [csdn ~]$  在bash中数组同样创建起来了与上面不同的是命令  echo $a 只显示了数组中的第1个元素而不是所有元素。  2在脚本文件中定义 [csdn ~]$ echo a(1 a b) a.sh [csdn ~]$ echo echo $a a.sh [csdn ~]$ cat a.sh a(1 a b) echo $a [csdn ~]$ . a.sh 1 [csdn ~]$  与上面的在命令行定义数组一样bash中的命令  echo $a 只显示了数组中的第1个元素而不是所有元素。  二数组名[下标]数值 1.在zsh中 1在命令行定义 csdn edu in ~ b[0]0 zsh: b: assignment to invalid subscript range csdn edu in ~ b[1]1  csdn edu in ~ b[2]a  csdn edu in ~ echo $b 1 a csdn edu in ~  在上面的例子中我们首先尝试直接在命令行定义数组元素b[0]0但是zsh提示下标超出范围。 接下来我们的命令  b[1]1 和  b[2]a 顺利完成最后我们用命令 echo $b 显示 数组b的2个元素值1 a。 可见在zsh中数组元素的下标是从1开始的。 2在脚本文件中定义 $ echo b[0]0 b.sh # csdn edu in ~ [22:07:01]  $ echo b[1]1 b.sh # csdn edu in ~ [22:07:24]  $ echo b[2]a b.sh  # csdn edu in ~ [22:07:39]  $ echo echo $b b.sh  # csdn edu in ~ [22:08:05]  $ cat b.sh    b[0]0 b[1]1 b[2]a echo $b # csdn edu in ~ [22:08:17]  $ source ./b.sh ./b.sh:1: b: assignment to invalid subscript range # csdn edu in ~ [22:08:27] C:126 $ bash ./b.sh   0 # csdn edu in ~ [22:08:53]  $  接着我们使用echo 输出重定向方式将数组定义语句 b[0]0 b[1]1 b[2]a 写入脚本文件b.sh 然后 我们将 显示数组元素 的命令 echo echo $b b.sh 写入脚本文件b.sh 随后我们使用命令 cat b.sh    查看脚本文件b.sh 的内容 b[0]0 b[1]1 b[2]a echo $b 接下来我们使用命令 source ./b.sh 来执行脚本文件b.sh但是命令在zsh下出错了 ./b.sh:1: b: assignment to invalid subscript range 这再次说明在zsh中数组元素的下标是从1开始的。 最后我们使用命令 bash ./b.sh  来执行脚本命令顺利完成。 可见在bash 中数组元素的下标是从0开始的。 2.在sh中 1在命令行中定义  csdn edu in ~ exec sh sh-4.2$ b[0]0 sh-4.2$ b[1]1 sh-4.2$ b[2]a sh-4.2$ echo $b 0 sh-4.2$  数组成功创建但只看到了数组中的第1个元素值。 2在脚本文件中定义 sh-4.2$ echo b[0]0 b.sh sh-4.2$ echo b[1]1 b.sh sh-4.2$ echo b[2]a b.sh  sh-4.2$ echo echo $b b.sh sh-4.2$ cat b.sh b[0]0 b[1]1 echo $b sh-4.2$ source ./b.sh 0 sh-4.2$  我们先使用echo 输出重定向方式将数组定义语句 b[0]0 b[1]1 b[2]a 写入脚本文件b.sh 然后 我们将 显示数组元素 的命令 echo echo $b b.sh 写入脚本文件b.sh 随后我们使用命令 cat b.sh    查看脚本文件b.sh 的内容 b[0]0 b[1]1 b[2]a echo $b 最后我们使用   source ./b. sh 命令来执行脚本文件b.sh数组成功创建但只看到了数组中的第1个元素值。 3.在bash中 1在命令行中定义 # csdn edu in ~ [23:53:42]  $ exec bash [csdn ~]$ echo $0 bash [csdn ~]$ b[0]0 [csdn ~]$ b[1]1 [csdn ~]$ b[2]a [csdn ~]$ echo $b 0 [csdn ~]$  命令全部顺利执行可见在bash中数组元素的下标是从0开始的但echo $b只显示了数组第1个元素值。 2在脚本文件中定义 [csdn ~]$ echo b[0]0 b.sh [csdn ~]$ echo b[1]1 b.sh [csdn ~]$ echo b[2]a b.sh [csdn ~]$ echo echo $b b.sh [csdn ~]$ cat b.sh b[0]0 b[1]1 b[2]a echo $b [csdn ~]$ . b.sh 0 [csdn ~]$  在脚本文件中执行跟 命令行执行结果是一样的。 三小结 在zsh中数组元素的下标是从 1 开始的使用“$数组名” 可以获得数组所有元素值。 在sh和bash中数组元素的下标是从 0 开始的使用“$数组名” 只能获得数组第1个元素值。 三、获取所有的数组元素 通过上面的实例我们发现在sh和bash中使用“$数组名” 只能获得数组第1个元素值那么如何获取所有的数组元素呢我们可以使用* 或  作为下标来获取具体格式即 ${数组名[]}  或 ${数组名[*]} 一zsh中 # csdn edu in ~ [12:24:50]  $ echo $0 /bin/zsh # csdn edu in ~ [12:25:24]  $ a(1 2 a) # csdn edu in ~ [12:25:42]  $ echo $a 1 2 a # csdn edu in ~ [12:27:06]  $ echo ${a[]} 1 2 a # csdn edu in ~ [12:27:39]  $ echo ${a[*]}  1 2 a # csdn edu in ~ [12:32:40]  $  二在sh中 # csdn edu in ~ [12:32:40]  $ exec sh sh-4.2$ a(1 2 a) sh-4.2$ echo $a 1 sh-4.2$ echo ${a[]} 1 2 a sh-4.2$ echo ${a[*]} 1 2 a sh-4.2$  三在bash中 sh-4.2$ exec bash [csdn ~]$ a(1 2 a) [csdn ~]$ echo $a 1 [csdn ~]$ echo ${a[]} 1 2 a [csdn ~]$ echo ${a[*]} 1 2 a [csdn ~]$  四、获取数组或数组元素的长度 在介绍字符串时我们说过获取字符串的格式是${#字符串名}获取数组或数组元素长度的格式是相似的 ${#数组名[下标]} 或 ${#数组名[下标]} 如果要取数组的长度那么下标就用*或 。如果要取数组某个元素的长度那么下标就用元素的下标。 一在zsh中 # csdn edu in ~ [12:57:21]  $ echo $0 /bin/zsh # csdn edu in ~ [12:57:24]  $ b[1]1  # csdn edu in ~ [12:57:31]  $ b[2]22  # csdn edu in ~ [12:57:36]  $ echo ${b[*]} 1 22 # csdn edu in ~ [12:57:49]  $ echo ${#b[*]} 2 # csdn edu in ~ [12:57:55]  $ echo ${#b[]} 2 # csdn edu in ~ [12:57:59]  $ echo ${b[0]}  # csdn edu in ~ [12:58:07]  $ echo ${#b[0]} 0 # csdn edu in ~ [12:58:11]  $ echo ${b[1]}  1 # csdn edu in ~ [12:58:26]  $ echo ${#b[1]} 1 # csdn edu in ~ [12:58:30]  $ echo ${b[2]}  22 # csdn edu in ~ [12:58:35]  $ echo ${#b[2]} 2 二sh中 # csdn edu in ~ [13:07:28]  $ exec sh sh-4.2$ b[1]1 sh-4.2$ b[2]22 sh-4.2$ echo ${b[*]} 1 22 sh-4.2$ echo ${#b[*]} 2 sh-4.2$ echo ${#b[]} 2 sh-4.2$ echo ${b[0]} sh-4.2$ echo ${#b[0]} 0 sh-4.2$ echo ${b[1]} 1 sh-4.2$ echo ${#b[1]} 1 sh-4.2$ echo ${b[2]} 22 sh-4.2$ echo ${#b[2]} 2 sh-4.2$  三bash中 [csdn ~]$ b[1]1 [csdn ~]$ b[2]22 [csdn ~]$ echo ${b[]} 1 22 [csdn ~]$ echo ${#b[]} 2 [csdn ~]$ echo ${#b[*]} 2 [csdn ~]$ echo ${b[0]} [csdn ~]$ echo ${#b[0]} 0 [csdn ~]$ echo ${b[1]} 1 [csdn ~]$ echo ${#b[1]} 1 [csdn ~]$ echo ${b[2]} 22 [csdn ~]$ echo ${#b[2]} 2 [csdn ~]$  在上面的实例中由于zsh中数组元素下标是从1开始的所以我们定义数组b时是从下标为1 的元素开始的。 然后我们先获取整个数组的元素值和长度然后从下标0开始获取数组每个元素的值和长度。 值得注意的是我们使用命令 echo ${b[0]} 尝试显示数组b中下标为0 的元素值 时系统没有提示出错使用命令echo ${#b[0]}尝试显示数组b中下标为0 的元素的长度时系统反馈为0。
http://www.zqtcl.cn/news/160248/

相关文章:

  • iis 网站拒绝显示此网页上海网站建设类岗位
  • 营销型网站建设推荐google关键词
  • 网站上线是前端还是后端来做如何做垂直门户网站
  • 网站建设与管理2018海尔集团网站 建设目的
  • ps做网站大小wordpress调用 php文件
  • php网站忘记后台密码江苏网页制作报价
  • 网站模板 哪个好完备的常州网站推广
  • 衡水淘宝的网站建设濮阳市城乡一体化示范区主任
  • 公司网上注册在哪个网站商洛市商南县城乡建设局网站
  • 怎么才能让网站图文展示大连网站建设设计
  • 俱乐部网站 模板seo产品是什么意思
  • 新手学做网站的教学书建造师查询官网
  • win2012 iis添加网站群辉做网站服务器
  • 网站优化课程培训山东网站备案公司
  • top wang域名做网站好事业单位门户网站建设评价
  • 有什么网站可以做简历网站备案表格
  • 网站开发用什么图片格式最好厦门人才网个人会员
  • 关于网站开发的文献深圳网络推广代运营
  • 网站做app的重要性做静态网站有什么用
  • 一键搭建网站系统教做衣服的网站有哪些
  • 城乡建设部网站施工员证书查询中铁建设集团有限公司招标平台
  • 广东省建设项目安全标准自评网站哪个网站可以免费做简历
  • 带产品展示的个人网站模板购物网站开发背景
  • 哪个域名注册网站好seo广告投放是什么意思
  • 网站建设ydwzjs电子邮箱怎么申请
  • 福建省建住房建设部网站wordpress 算数验证码
  • 东莞企业如何建网站网站正在建设中...为什么护卫神
  • 引流用的电影网站怎么做wordpress浏览速度
  • 微信小程序怎拼做搬家网站东莞建网站公司
  • 网站推广昔年下拉博客推广链接制作软件