1.字符串测试操作符

字符串测试操作符的作用有:比较两个字符串是否相同、字符串的长度是否为零,字符串是否为NULL(注:bash区分零长度字符串和空字符串等)

下表为常用字符串操作符

也可以通过man test查看字符串测试操作符

字符串测试操作符提示:

(1)-n比较字符串长度是否不为零,如果不为零则为真,如:[ -n “$myvar” ]

(2)-z比较字符串长度是否等于零,如果等于零则为真,如:[ -z “$myvar” ]

特别注意:对于以上表格中的字符串测试操作符号。如:[ -n “$myvar” ]要把字符串用””双引号引起来。

注意事项:

(1)字符串或字符串变量比较都要加双引号之后再比较。

(2)字符串或字符串变量比较,比较符号两端最好都有空格,学习SHELL多参考系统脚本。

“=”比较两个字符串是否相同,与“==”等价,如[ “$a”=“$b” ]其中$a这样的变量最好用“”双引号引起来,因为如果中间有空格,*等符号就可能出错了,当然更好的办法就是[“${a}”=”${b}”]。

例子演示:

等号两端不加空格的错误案列:

系统脚本案例:

总结:

1、字符串或者字符串变量都要用“”双引号引起来。

2、比较符号等于号=和不等于号!=两端一定要有空格。

3、比较符号用等于号=和不等于号!=,不要用!和这种形式,书写要规范。

4、字符串变量要用大括号{}括起来,例如${a}。

最新文章

  1. 对session的理解
  2. 如何判断css是否加载完成
  3. iOS AutoLayout自动布局&Masonry介绍与使用实践
  4. android系统自带的日期、时间对话框的用法
  5. JAVA双列集合HashMap
  6. Socket的简单使用
  7. php 正则匹配中文(转)
  8. Ubuntu下shell脚本运行异常:bash和dash的区别
  9. 静默安装、授权及卸载Microsoft SQL Server、NET Framework、Windows Installer 、ArcGIS License Manager、ArcGIS Engine(Silent install、uninstall and Authorization.. .through Setup Factory)基于Setup Factory
  10. 什么办法可以替代distinct
  11. Learning Theory
  12. .Net 4.5 Task
  13. Codeforces Round #277 (Div. 2) 解题报告
  14. 高级UNIX环境编程13 守护进程
  15. 关于identifier was truncated to '255' characters
  16. XML解析之DOM解析技术案例
  17. vuex入门
  18. postgresql 登录查看表定义
  19. 使用vue之directive设计列表加载更多
  20. 【软件需求工程与建模 - 小组项目】第6周 - 成果展示3 - 软件设计规格说明书V4.1

热门文章

  1. spring ioc 源码分析(三)--finishBeanFactoryInitialization(beanFactory)
  2. 获取Jetbrain全家桶激活码
  3. ansible-主机清单的配置
  4. kafka配置文件详解
  5. 多测师讲解接口测试 —jmeter接数据库(004)_高级讲师肖sir
  6. 基于SpringAop的鉴权功能
  7. github 如何解决error: failed to push some refs
  8. Java9第四篇-Reactive Stream API响应式编程
  9. 身为电气人,为什么也要学习C语言编程?人生苦短,我学编程!
  10. 方格取数(简单版)+小烈送菜(不知道哪来的题)-----------奇怪的dp增加了!