- Unix/Linux 初学者教程
- Unix/Linux - 首页
- Unix/Linux - 什么是 Linux?
- Unix/Linux - 入门指南
- Unix/Linux - 文件管理
- Unix/Linux - 目录
- Unix/Linux - 文件权限
- Unix/Linux - 环境
- Unix/Linux - 基本实用程序
- Unix/Linux - 管道和过滤器
- Unix/Linux - 进程
- Unix/Linux - 通信
- Unix/Linux - vi 编辑器
- Unix/Linux Shell 编程
- Unix/Linux - Shell 脚本
- Unix/Linux - 什么是 Shell?
- Unix/Linux - 使用变量
- Unix/Linux - 特殊变量
- Unix/Linux - 使用数组
- Unix/Linux - 基本运算符
- Unix/Linux - 决策
- Unix/Linux - Shell 循环
- Unix/Linux - 循环控制
- Unix/Linux - Shell 替换
- Unix/Linux - 引号机制
- Unix/Linux - I/O 重定向
- Unix/Linux - Shell 函数
- Unix/Linux - 手册页帮助
- 高级 Unix/Linux
- Unix/Linux - 标准 I/O 流
- Unix/Linux - 文件链接
- Unix/Linux - 正则表达式
- Unix/Linux - 文件系统基础
- Unix/Linux - 用户管理
- Unix/Linux - 系统性能
- Unix/Linux - 系统日志
- Unix/Linux - 信号和陷阱
Unix/Linux - Shell 字符串运算符示例
以下字符串运算符受 Bourne Shell 支持。
假设变量a保存“abc”,变量b保存“efg”,则 -
运算符 | 描述 | 示例 |
---|---|---|
= | 检查两个操作数的值是否相等;如果相等,则条件为真。 | [ $a = $b ] 不为真。 |
!= | 检查两个操作数的值是否相等;如果值不相等,则条件为真。 | [ $a != $b ] 为真。 |
-z | 检查给定字符串操作数的大小是否为零;如果长度为零,则返回真。 | [ -z $a ] 不为真。 |
-n | 检查给定字符串操作数的大小是否不为零;如果长度不为零,则返回真。 | [ -n $a ] 不为假。 |
str | 检查str是否不是空字符串;如果为空,则返回假。 | [ $a ] 不为假。 |
示例
以下是一个使用所有字符串运算符的示例 -
#!/bin/sh a="abc" b="efg" if [ $a = $b ] then echo "$a = $b : a is equal to b" else echo "$a = $b: a is not equal to b" fi if [ $a != $b ] then echo "$a != $b : a is not equal to b" else echo "$a != $b: a is equal to b" fi if [ -z $a ] then echo "-z $a : string length is zero" else echo "-z $a : string length is not zero" fi if [ -n $a ] then echo "-n $a : string length is not zero" else echo "-n $a : string length is zero" fi if [ $a ] then echo "$a : string is not empty" else echo "$a : string is empty" fi
以上脚本将生成以下结果 -
abc = efg: a is not equal to b abc != efg : a is not equal to b -z abc : string length is not zero -n abc : string length is not zero abc : string is not empty
使用运算符时需要考虑以下几点 -
运算符和表达式之间必须有空格。例如,2+2 不正确。应写成 2 + 2。
if...then...else...fi 语句是决策语句,将在下一章中解释。
unix-basic-operators.htm
广告