记linux shell的两个小技巧:shell数组和字符串判断

简介:

  最近在使用shell写脚本的时候,想实现python中两个很简单的功能:1:判断一个字符串是否包含另一个字符串。2:怎么用实现python的列表功能。这里跟大家分享一下。


1:判断一个字符串是否包含另一个字符串:

1
2
3
4
5
6
string= "abcdefg"
if  [[  "$string"  =~  "abc"  ]]; then
   echo  "do something.."
else
   echo  "nothing.."
fi

 以上的shell判断"abc"是否包含在字符串$string中。

 运行结果为:do something..


2:使用shell的数组达到python的列表效果。

 定义数组:

  # test=(a b c d e f g)

  查看数组:

  # echo ${test[@]}

   a b c d e f g

  往数组中追加一个元素e:

  # test=(${test[@]} e)  

  # echo ${test[@]}

   a b c d e f g e

 通过下标索引删除一个元素,shell数组的下表和python一样,是从0开始的,所以2下标代表的是第三个元素c:

  # unset test[2]

  # echo ${test[@]}

   a b d e f g e

 数组分片,以下命令截取了test数组0-3的元素范围,即前三个元素:

 # echo ${test[@]:0:3}

   a b d

 循环访问数组: 

1
2
3
4
5
6
7
8
9
10
11
12
# for element in ${test[@]}
  do
  echo  "This is $element..."
  done
#result 
This is a...
This is b...
This is d...
This is e...
This is f...
This is g...
This is e...

  










本文转自 icenycmh 51CTO博客,原文链接:http://blog.51cto.com/icenycmh/1794868,如需转载请自行联系原作者
目录
相关文章
|
3天前
|
网络协议 Shell Linux
LabVIEW 在NI Linux实时设备上访问Shell
LabVIEW 在NI Linux实时设备上访问Shell
|
4天前
|
Shell Linux
【Linux】进程实践项目(更新中) — 自主shell编写
前几篇文章,我们学习进程的相关知识:进程概念,进程替换,进程控制。熟悉了进程到底是个什么事情,接下来我们来做一个实践,来运用我们所学的相关知识。这个项目就是手搓一个shell模块,模拟实现Xshell中的命令行输入。
10 1
|
5天前
|
Shell Linux 信息无障碍
5 个有用的 Linux Shell 转义序列
5 个有用的 Linux Shell 转义序列
|
6天前
|
Shell Linux 编译器
C语言,Linux,静态库编写方法,makefile与shell脚本的关系。
总结:C语言在Linux上编写静态库时,通常会使用Makefile来管理编译和链接过程,以及Shell脚本来自动化构建任务。Makefile包含了编译规则和链接信息,而Shell脚本可以调用Makefile以及其他构建工具来构建项目。这种组合可以大大简化编译和构建过程,使代码更易于维护和分发。
24 5
|
7天前
|
Linux Shell 程序员
【Linux】权限(shell运行原理、概念,Linux权限)
【Linux】权限(shell运行原理、概念,Linux权限)
14 2
|
7天前
|
存储 运维 Java
Linux笔记02 —— Shell补充
Linux笔记02 —— Shell补充
31 2
|
7天前
|
安全 Linux Shell
Linux笔记01 —— Linux初识与Shell汇总(请配合另一篇《Linux笔记02》一起使用)
Linux笔记01 —— Linux初识与Shell汇总(请配合另一篇《Linux笔记02》一起使用)
19 1
|
Linux
linux C 数组操作
/****************************************************************** * linux C 数组操作 * 声明: * 本文为解决陈颖奇遇到的C数组操作上的问题,主要是验证。
762 0
|
2天前
|
安全 网络协议 Linux
linux必学的60个命令
Linux是一个功能强大的操作系统,提供了许多常用的命令行工具,用于管理文件、目录、进程、网络和系统配置等。以下是Linux必学的60个命令的概览,但请注意,这里可能无法列出所有命令的完整语法和选项,仅作为参考
|
2天前
|
监控 Linux 数据处理