码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • Shell脚本-字符串


    字符串(String)就是一系列字符的组合。字符串是 Shell 编程中最常用的数据类型之一(除了数字和字符串,也没有其他类型了)。

    字符串可以由单引号' '包围,也可以由双引号" "包围,也可以不用引号。

    字符串举例

    str1=jack
    str2="rose"
    str3='100'
    
    • 1
    • 2
    • 3

    三种形式的区别

    1. 由单引号' '包围的字符串:
    • 任何字符都会原样输出,在其中使用变量是无效的。
    • 字符串中不能出现单引号,即使对单引号进行转义也不行。
    1. 由双引号" "包围的字符串:
    • 如果其中包含了某个变量,那么该变量会被解析(得到该变量的值),而不是原样输出。
    • 字符串中可以出现双引号,只要它被转义了就行。
    1. 不被引号包围的字符串
    • 不被引号包围的字符串中出现变量时也会被解析,这一点和双引号" "包围的字符串一样。
    • 字符串中不能出现空格,否则空格后边的字符串会作为其他变量或者命令解析。

    脚本

    #!/bin/bash
    
    name=jack
    str1=我的名字是$name
    str2="有个人的\"名字\"叫$name"
    str3='我朋友叫 $name'
    echo $str1
    echo $str2
    echo $str3
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9

    输出:

    我的名字是jack
    有个人的"名字"叫jack
    我朋友叫 $name
    
    • 1
    • 2
    • 3

    str1 中包含了$name,它被解析为变量 name 的引用。

    str2 中包含了引号,但是被转义了(由反斜杠\开头的表示转义字符)。str2 中也包含了$name,它也被解析为变量 name 的引用。

    str3 中也包含了$name,但是仅仅是作为普通字符,并没有解析为变量 name 的引用。

    获取字符串长度

    具体方法如下,${#string_name},string_name 表示字符串名字。
    代码如下:

    #!/bin/bash
    
    name=jack
    echo ${#name}
    
    • 1
    • 2
    • 3
    • 4

    输出:

    4
    
    • 1
  • 相关阅读:
    SpringBoot如何集成Log模块呢?
    uniapp ui库 px 转 rpx
    深入理解Mysql事务隔离级别与锁机制
    java安全(八)TransformedMap构造POC
    Effects of four feedbacks on input resistance, output resistance, and bandwidth
    原生小程序小话题——引用、模板
    文件重命名技巧,给每个文件名称统一输入文字
    MySQL8(增删改)
    用户画像的设计准则以及美团外卖用户画像的设计案例
    让实时操作系统助力电力电子系统设计
  • 原文地址:https://blog.csdn.net/qq_37279783/article/details/125523066
  • 最新文章
  • 沪漂五周年了:我越来越迷茫了
    Agentic Skill Routing 实战:别再把所有 Skill 塞进 AI Agent 上下文
    MySQL-Seconds_behind_master的精度误差
    [MAF预定义ChatClient中间件-03]CachingChatClient——利用缓存省钱省时间
    AI的至暗历史:从万众期待到被政府撤资,AI的两次死亡徘徊
    Agent OS :五种驯服不确定性的范式
    PortSwigger SQL注入LAB11
    数据库即时编译JIT
    [Begin]AI Learn Data Day 0
    深度学习进阶(二十七)现代 LLM 的核心架构设计其二:SwiGLU
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
小工具 小游戏
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1

京公网安备 11010502049817号