shell编程系列4--有类型变量:字符串、只读类型、整数、数组
shell编程系列4--有类型变量:字符串、只读类型、整数、数组 有类型变量总结: declare命令和typeset命令两者等价 declare、typeset命令都是用来定义变量类型的 declare命令参数总结 .declare -r 将变量设置为只读类型
declare -r var="hello"
var="world" # 变量默认可以修改
[root@es01 shell]# var2="hello world"
[root@es01 shell]# var2="hello python"
[root@es01 shell]# echo $var2
hello python # 声明为只读变量,就不可修改
[root@es01 shell]# declare -r var2
[root@es01 shell]# var2="hello java"
-bash: var2: readonly variable . declare -i 将变量设为整数
# 默认把变量当做字符处理
[root@es01 shell]# num1=
[root@es01 shell]# num2=$num1+
[root@es01 shell]# echo $num2
+ # 声明为整数
[root@es01 shell]# declare -i num3
[root@es01 shell]# num3=$num1+
[root@es01 shell]# echo $num3 .declare -a 将变量定义为数组 # 定义数组
[root@es01 shell]# declare -a array
[root@es01 shell]# array=("jones" "make" "kobe" "jordan") # 列出数组所有元素
[root@es01 shell]# echo ${array[@]}
jones make kobe jordan
[root@es01 shell]# echo ${array[]}
make
[root@es01 shell]# echo ${array[]}
jones
[root@es01 shell]# echo ${array[]}
kobe # 数组长度
[root@es01 shell]# echo ${#array[@]} # 输出数组中元素长度
[root@es01 shell]# echo ${#array[]} [root@es01 shell]# echo ${#array[]} -f 显示此脚本前定义过的所有函数和内容
-F 进显示脚本前定义过的函数名 数组常用的方法(仅供参考,实际生产用的少) array=("jones" "mike" "kobe" "jordan")
输出数组内容:
echo ${array[@]} 输出全部内容
echo ${array[]} 输出下标索引为1的内容 获取数组长度:
echo ${#array} 数组内元素个数
echo ${#array[]} 数组内下标索引为2的元素长度 给数组某个下标赋值:
array[]="lily" 给数组下标索引为1的元素赋值为lily
array[]="hanmeimei" 在数组尾部添加一个新元素 删除元素:
unset array[] 清空元素
unset array 清空整个数组 分片访问:
${array[@]::} 显示数组下标索引从1开始到3的3个元素 内容替换:
${array[@]/an/AN} 将数组中所有元素包含an的子串替换为AN 数组遍历:
for v in ${array[@]}
do
echo $v
done .declare -x 将变量声明为环境变量 [root@es01 shell]# num5=
[root@es01 shell]# echo $num5 [root@es01 shell]# vim test1.sh
[root@es01 shell]# cat test1.sh
#!/bin/bash
# echo $num5 # 在脚本中直接使用shell环境中定义的变量是无法引用的
[root@es01 shell]# sh test1.sh # 当使用declare -x 变量后,就可以直接在脚本中引用了
[root@es01 shell]# declare -x num5
[root@es01 shell]# sh test1.sh declare +r 取消一个变量
shell编程系列4--有类型变量:字符串、只读类型、整数、数组的更多相关文章
- shell编程系列21--文本处理三剑客之awk中数组的用法及模拟生产环境数据统计
shell编程系列21--文本处理三剑客之awk中数组的用法及模拟生产环境数据统计 shell中的数组的用法: shell数组中的下标是从0开始的 array=("Allen" & ...
- shell编程系列19--文本处理三剑客之awk中的字符串函数
shell编程系列19--文本处理三剑客之awk中的字符串函数 字符串函数对照表(上) 函数名 解释 函数返回值 length(str) 计算字符串长度 整数长度值 index(str1,str2) ...
- (C#)Windows Shell 编程系列3 - 上下文菜单(iContextMenu)(一)右键菜单
原文 (C#)Windows Shell 编程系列3 - 上下文菜单(iContextMenu)(一)右键菜单 接上一节:(C#)Windows Shell 编程系列2 - 解释,从“桌面”开始展开这 ...
- shell编程系列26--大型脚本工具开发实战
shell编程系列26--大型脚本工具开发实战 大型脚本工具开发实战 拆分脚本功能,抽象函数 .function get_all_group 返回进程组列表字符串 .function get_all_ ...
- shell编程系列16--文本处理三剑客之awk模式匹配的两种方法
shell编程系列16--文本处理三剑客之awk模式匹配的两种方法 awk的工作模式 第一种模式匹配:RegExp 第二种模式匹配:关系运算匹配 用法格式对照表 语法格式 含义 RegExp 按正则表 ...
- shell编程系列15--文本处理三剑客之awk格式化输出printf
shell编程系列15--文本处理三剑客之awk格式化输出printf printf的格式说明符 格式符 含义 %s 打印字符串 %d 打印十进制数 %f 打印一个浮点数 %x 打印十六进制数 %o ...
- shell编程系列9--文本处理三剑客之sed概述及常见用法总结
shell编程系列9--文本处理三剑客之sed概述及常见用法总结 sed的工作模式:对文本的行数据一行行处理,如下图 sed(stream editor),是流编辑器,依据特定的匹配模式,对文本逐行匹 ...
- shell编程系列6--shell中的函数
shell编程系列6--shell中的函数 .函数介绍 linux shell中的函数和大多数编程语言中的函数一样 将相似的任务或者代码封装到函数中,供其他地方调用 语法格式 第一种格式 name() ...
- shell编程系列2--字符串的处理
shell编程系列2--字符串的处理 字符串的处理 .计算字符串的长度 方法1 ${#string} 方法2 expr length "$string" (如果string中间有空 ...
随机推荐
- Python通过lxml库遍历xml通过xpath查询(标签,属性名称,属性值,标签对属性)
xml实例: 版本一: <?xml version="1.0" encoding="UTF-8"?><country name="c ...
- SHOI2008 cactus仙人掌图 和 UOJ87 mx的仙人掌
cactus仙人掌图 题目描述 如果某个无向连通图的任意一条边至多只出现在一条简单回路(simple cycle)里,我们就称这张图为仙人掌图(cactus).所谓简单回路就是指在图上不重复经过任何一 ...
- debug错误总结
1, 2,就是一个大括号的问题..让你总是得不了满分..明明和别人的代码差不多. 3,就比如P1914,这种藏坑的题,或者说这一类藏坑的题. 坑是什么呢?就是位数不够往后推的时候.. 你不填坑你就得不 ...
- Linux https认证原理
HTTPS在传输的过程中会涉及到三个密钥:服务器端的公钥和私钥,用来进行非对称加密客户端生成的随机密钥,用来进行对称加密一个HTTPS请求实际上包含了两次HTTP传输,可以细分为8步.1.客户端向服务 ...
- YAML_04 用user模块添加用户,并修改密码
ansible]# vim user.yml --- - hosts: cache remote_user: root vars: username: lisi tasks: ...
- shell脚本之字符串运算的使用
字符串运算符 下表列出了常用的字符串运算符,假定变量 a 为 "abc",变量 b 为 "efg": 运算符 说明 举例 = 检测两个字符串是否相等,相等返回 ...
- C语言定义结构体指针数组并初始化;里面全是结构体的地址
#include <stdio.h> #include <string.h> struct tells;//声明结构体 struct info { char *infos; } ...
- Vim颜色配置
最近迷上了Vim 主要原因是可以装逼 不过话说它自带的配色里面也就只有一个evening能勉强满足我的审美 于是我花了大概几天的时间翻了些百度贴吧,或者自己手动改属性后面的配色来实验这个属性到底对应哪 ...
- 微信小程序--安装教程
首先 奉上腾讯官方文档 方便参考:https://mp.weixin.qq.com/debug/wxadoc/design/index.html 个人认为没说啥特别有用的信息(可能是我看的太粗糙了) ...
- 【概率论】5-7:Gama分布(The Gamma Distributions Part II)
title: [概率论]5-7:Gama分布(The Gamma Distributions Part II) categories: - Mathematic - Probability keywo ...