shell脚本——字符串变量

来源:互联网 发布:国际通用聊天软件 编辑:程序博客网 时间:2024/09/21 08:58

字符串的操作使用

#!/bin/bash# 字符串变量# 单引号,单号定义时不能使用转义符号,且不能出现其他变量)myBook='yuebingquan'# 双引号,双号定义时能使用转义符号,也能出现其他变量)myName="zhangshaoyu is \"iOS Developer\", and age is $myAge"#<---------------------------------------------->echo $myBook# 使用,并显示变量(只要在变量名称前加美元符号即可,当然为避免异常可以使用花括号括起来)echo $myName# 或echo ${myName}#<----------------------------------------------># 获取字符串长度(格式如:${#变量)bookLength=${#myBook}echo $bookLength#<----------------------------------------------># 提取子字符串,如:从字符串 myName 第 1 个字符开始截取 11 个字符name=${myName:1:11}echo $name #<----------------------------------------------># 查找子字符串,如:在字符串查找字符 "yu" 的位置(无效执行???)name="zhangshaoyu"subName="yu"echo `expr index $name $subName`# 注意: 以上脚本中 "`" 是反引号,而不是单引号 "'",不要看错了哦。#<----------------------------------------------># 字符串替换 str="apple, tree, apple tree"echo ${str/apple/APPLE}   # 替换第一次出现的appleecho ${str//apple/APPLE}  # 替换所有apple echo ${str/#apple/APPLE}  # 如果字符串str以apple开头,则用APPLE替换它echo ${str/%apple/APPLE}  # 如果字符串str以apple结尾,则用APPLE替换它#<----------------------------------------------># 比较[[ "a.txt" == a* ]]        # 逻辑真 (pattern matching)[[ "a.txt" =~ .*\.txt ]]   # 逻辑真 (regex matching)[[ "abc" == "abc" ]]       # 逻辑真 (string comparision) [[ "11" < "2" ]]           # 逻辑真 (string comparision), 按ascii值比较#<----------------------------------------------># 字符串运算符string1="zhangshaoyu"string2="iOS Developer"# = 检测两个字符串是否相等,相等返回 trueif [[ $string1 = $string2 ]]; then    echo "$string1 等于 $string2"else    echo "$string1 不等于 $string2"fi# != 检测两个字符串是否相等,不相等返回 trueif [[ $string1 != $string2 ]]; then    echo "$string1 不等于 $string2"else    echo "$string1 等于 $string2"fi# -z 检测字符串长度是否为0,为0返回 trueif [[ -z $string1 ]]; then    echo "$string1 长度为0"else    echo "$string1 长度不为0"fi# -n 检测字符串长度是否为0,不为0返回 trueif [[ -n $string1 ]]; then    echo "$string1 长度不为0"else    echo "$string1 长度为0"fi# str 检测字符串是否为空,不为空返回 trueif [[ $string1 ]]; then    echo "$string1 不是空字符串"else    echo "$string1 是空字符串"fi
0 0
原创粉丝点击