shell中字符串基本用法
Posted 小呆呆yy
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了shell中字符串基本用法相关的知识,希望对你有一定的参考价值。
前言
今天在写脚本时,发现前阶段使用过的一些用法还是需要去百度查找,并且找到的答案还需要自己去筛选,耽误写脚本时间,这一篇对字符串之间的比较和逻辑判断都非常详细,借鉴他人之作,资源共享。
本片主要说明一些字符串比较中的注意事项
主要包括了字符串 相等、不等、长度、空字符串 以及逻辑与、逻辑或的内容,具体内容见下面的脚本:
- #!/bin/bash
- # test string order
- a="ss"
- b="abc"
- c="ss"
- echo "----------------------------------------------------------------------------"
- echo " test for string compare with "!=","=","-z","-n",is a null str ;test string is "$a" and "$b""
- echo "----------------------------------------------------------------------------"
- echo "*************----------*********************"
- echo "-----------"
- echo "test "=" 等号运算,比较两个字符串相等"
- echo "-----------"
- echo "if [ $a = $b ]; then 用=来比较两个字符串是否相等, 注意不是==符号 ,注意语句中的空格符号一定要预留好,下面的一些语句中的空格格式和本句类似"
- if [ $a = $b ]; then
- echo "$a == $b : a = b"
- else
- echo "-----------"
- echo "test "!=",不等号运算,比较两个字符串不相等"
- echo "-----------"
- if [ $a != $c ]; then
- echo "$a == $c :a !=c "
- else
- echo "$a == $c : a ==c "
- fi
- fi
- echo "-----------"
- echo "test "-z",字符串长度为0运算,为0返回真"
- echo "-----------"
- if [ -z $a ]
- then
- echo "-z $a : 字符串长度为 0"
- else
- echo "-z $a : 字符串长度不为 0"
- fi
- echo "-----------"
- echo "test "-n",字符串长度不为0运算,不为0返回真"
- echo "-----------"
- if [ -n $a ]
- then
- echo "-n $a : 字符串长度不为 0"
- else
- echo "-n $a : 字符串长度为 0"
- fi
- echo "-----------"
- echo "test is a null str"
- echo "-----------"
- if [ $a ]
- then
- echo "$a : 字符串不为空"
- else
- echo "$a : 字符串为空"
- fi
- a="aaa"
- b="bbb"
- echo "----------------------------------------------------------------------------"
- echo " test string with "&&","||";test string is "$a" and "$b""
- echo "----------------------------------------------------------------------------"
- echo "-----------"
- echo "test "&&",逻辑与运算"
- echo "-----------"
- if [[ $a = $a && $b = $b ]]
- then
- echo "[[ $a = $a && $b = $b ]]返回 true"
- else
- echo "[[ $a = $a && $b = $b ]]返回 false"
- fi
- echo "-----------"
- echo "test "||",逻辑或运算"
- echo "-----------"
- if [[ $a = $b || $b = $b ]]
- then
- echo "[[ $a = $b || $b = $b ]]返回 true"
- else
- echo "[[ $a = $b || $b = $b ]]返回 false"
- fi
- echo "*************----------*********************"
以上是关于shell中字符串基本用法的主要内容,如果未能解决你的问题,请参考以下文章