shell编程--read读到数组
声明:
本博客欢迎转发,但请保留原作者信息!
新浪微博:@孔令贤HW;
博客地址:http://blog.csdn.net/lynn_kong
内容系本人学习、研究和总结,如有雷同,实属荣幸!
看了一个老外的自动化安装OpenStack的脚本,里面有些语法对我来说比较高级,比如下面这个函数:
function setconf() {local i=1for element in "$@"doIFS=':', read -ra array <<< "$element"if [[ "${array[0]}" = "infile" ]]; thenlocal input=${array[1]}continueelif [[ "${array[0]}" = "outfile" ]]; thenlocal output=${array[1]}continuefipara[$i]="-e s#${array[0]}#${array[1]}#g "para+=${para[$i]}i=$(($i + 1))doneif [[ "$output" ]]; thencp $output ${output}.orgsed $para $input > $outputelsecp $input ${input}.orgsed -i $para $inputfi
}
这里主要是read的用法:
-r:不允许反斜杠来转义任何字符
-a array:把输入内容按分隔符(空格或者跳格之类)分配给数组,连续的空格也算为1个分割。输入后,数组规格跟c语言一样,用var[n]的格式表示,下标从0开始,直接echo $var 的效果等于echo ${var[0]}。当echo 数组带下标的时候,记得加{}表达,比如echo ${a[1]}。
该函数使用示例:
setconf infile:$BASE_DIR/conf/etc.keystone/keystone.conf \outfile:/etc/keystone/keystone.conf \"<KEYSTONE_IP>:${KEYSTONE_IP}" \"<DB_KEYSTONE_USER>:${DB_KEYSTONE_USER}" \"<DB_KEYSTONE_PASS>:${DB_KEYSTONE_PASS}"
shell编程--read读到数组相关推荐
- 【linux】shell 编程之字符串与数组
前言 对字符串的操作在众多的编程语言中可以说是最基础的了,字符串(String)就是一系列字符的组合.字符串是 Shell 编程中最常用的数据类型之一(除了数字和字符串,也没有其他类型了). 一.sh ...
- Shell编程之函数与数组
文章目录 一.shell函数 1.Shell函数定义的基本格式 2.函数返回值 3.函数的调用 4.函数的作用范围 5.函数的参数 6.函数的递归 函数递归实现阶乘计算 递归遍历目录,使目录和普通文件 ...
- Shell编程基础---函数、数组
2019独角兽企业重金招聘Python工程师标准>>> 本文索引: shell中的函数 shell中的数组 告警系统需求分析 shell中的函数 shell作为一种编程语言,必然有函 ...
- Linux高级专题详解--shell编程大全(shell变量,if语句,case语句,for循环,while循环,函数调用,数组,正则表达式,shell脚本三剑客--grep,sed,awk家族)
shell编程 初始shell 程序 语言 编程 ---------------------------------- 语言 自然语言:汉语.英语 计算机语言:c语言.c++.(java php py ...
- 掌握shell编程中数组的常见用法及示例
From: http://www.embeddedlinux.org.cn/html/jishuzixun/201211/19-2386.html 给大家分享下数组的用法小例子,希望能给大家一点帮助. ...
- 轻松掌握shell编程中数组的常见用法及示例
缘起:在老男孩进行linux培训shell编程教学中,发现不少水平不错的网友及同学对数组仍然很迷糊,下面就给大家分享下数组的用法小例子,希望能给大家一点帮助.其实SHELL的数组很简单,好用.我们学习 ...
- shell编程数组与冒泡算法排序详解
shell编程数组与冒泡算法排序详解 一 数组的四种表达方式 二 数组的增删改查操作 三 数组传参 3.1 主程序向函数传数组参数 3.2 从函数返回数组到主程序 四 冒泡算法排序 一 数组的四种表达 ...
- linux shell编程学习——数组使用
linux的shell的编程方面很强大,最近在写脚本的时候,需要用到shell的数组.下面对最近的学习和使用做个简单的总结. 定义 linux的数组分两种,一种是普通的下标数组,一种是关联数组.前者和 ...
- 秒懂的shell编程数组与冒泡算法排序详解
shell编程数组与冒泡算法排序详解 一.数组的四种表达方式 二 .数组的增删改查操作 三 .数组传参 3.1 主程序向函数传数组参数 3.2 从函数返回数组到主程序 四 .冒泡算法排序 一.数组的四 ...
最新文章
- Springboot在IDEA热部署的配置方法
- 网络工程原理与实践教程实验安排
- onbeforeunload与onunload事件
- java 枚举内嵌枚举_高度有用的Java ChronoUnit枚举
- 使用引用的方式交换数据的数值
- 由于芯片短缺 通用将生产部分无自动启停功能新车
- R-CNN家族梳理:从R-CNN到Mask R-CNN
- python向mysql插入数据
- ECCV 2022 | AirDet: 无需微调的小样本目标检测方法
- 【HAVENT原创】nginx 配置
- bzoj 2429 聪明的猴子
- 外联式 vue+element ui 表格导出e'xcel
- java wav合并_java – 如何将两个wav文件合并/合并到一个wav文件中?
- python中import re_python中re模块
- 2019年蚂蚁金服面经(已拿Offer)!附答案!!
- 常见linux服务器存储空间,怎么在linux上查看服务器的存储空间多大
- 【计算机毕业设计】java线上教学平台 springboot智慧教学系统
- 欢迎查看Vue总结知识
- C++ 语法基础课 习题2 —— printf 语句与判断结构
- bnuoj 44359 快来买肉松饼