【Shell脚本3】Shell 字符串

这篇具有很好参考价值的文章主要介绍了【Shell脚本3】Shell 字符串。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

Shell 字符串

字符串是shell编程中最常用最有用的数据类型(除了数字和字符串,也没啥其它类型好用了),字符串可以用单引号,也可以用双引号,也可以不用引号。

单引号

str='this is a string'

单引号字符串的限制:

  1. 变量替换:在单引号字符串中,对变量的引用不会被解析或替换为其对应的值。即使使用 $ 符号引用变量,变量名仍然会被视为普通字符而不是变量的值。例如:echo ‘Hello, $USER!’ 会输出 Hello, $USER! 而不是实际用户的名称。
  2. 命令替换:在单引号字符串中,使用反引号( )或 $() 进行命令替换是无效的。这意味着不能在单引号字符串中执行命令并将其结果插入字符串中。
  3. 转义字符的失效:在单引号字符串中,大多数特殊字符(如反斜杠 \)都会失去其转义的作用。它们会被视为普通字符而不是转义字符。例如:echo ‘This is a single \ ’ quote’ 会将 \ ’ 当作两个普通字符而不是转义 '。

双引号

your_name="runoob"
str="Hello, I know you are \"$your_name\"! \n"
echo -e $str

输出结果为:

Hello, I know you are "runoob"! 

双引号的优点:

  1. 变量替换:在双引号字符串中,可以对变量使用 $ 符号进行替换,变量名会被解析为其对应的值。这意味着可以将变量的值插入到双引号字符串中。例如:echo “Hello, $USER!” 会输出 Hello, [当前用户的名称]!。
  2. 命令替换:在双引号字符串中,可以使用反引号( )或 $() 进行命令替换。命令替换允许在字符串中执行命令并将其结果插入到字符串中。例如:echo “Today is $(date)” 会输出 Today is [当前日期]。
  3. 转义字符生效:在双引号字符串中,转义字符(如反斜杠 \)保持有效。可以使用转义字符来插入特殊字符或引号,或者来表示特殊字符的字面值。例如:echo "This is a double quote: \ “” 会输出 This is a double quote: "。
  4. 字符串拼接:双引号字符串使得字符串拼接更加方便。可以在双引号字符串中使用变量和表达式,使用 $ 进行变量替换,并将不同的部分连接在一起。例如:name=“Alice”; echo “Hello, ${name}!” 会输出 Hello, Alice!。

拼接字符串

your_name="runoob"
# 使用双引号拼接
greeting="hello, "$your_name" !"
greeting_1="hello, ${your_name} !"
echo $greeting  $greeting_1

# 使用单引号拼接
greeting_2='hello, '$your_name' !'
greeting_3='hello, ${your_name} !'
echo $greeting_2  $greeting_3

输出结果为:

hello, runoob ! hello, runoob !
hello, runoob ! hello, ${your_name} !

获取字符串长度

string="abcd"
echo ${#string}   # 输出 4

变量为字符串时,${#string} 等价于 ${#string[0]}:

string="abcd"
echo ${#string[0]}   # 输出 4

提取子字符串

以下实例从字符串第 2 个字符开始截取 4 个字符:

string="runoob is a great site"
echo ${string:1:4} # 输出 unoo

注意:第一个字符的索引值为 0。

查找子字符串

查找字符 i 或 o 的位置(哪个字母先出现就计算哪个):

string="runoob is a great site"
echo `expr index "$string" io`  # 输出 4

注意: 以上脚本中 ` 是反引号,而不是单引号 ',不要看错了哦。文章来源地址https://www.toymoban.com/news/detail-741067.html

到了这里,关于【Shell脚本3】Shell 字符串的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 【linux】 shell 之 字符串 -z, -n 判断

    -n : 字符串长度不等于 0 为真 ,助记符 no zero , example : -z : 字符串长度等于 0 为真 ,助记符 zero , example : 需要注意的是,在[]中,使用-z 或-n 判断字符串长度时,变量要加双引号 。 举例说明: 加了双引号才能正常判断是否为空: 使用了双中括号就不用了双引号

    2024年01月21日
    浏览(29)
  • 【玩转Linux操作】详细讲解shell的注释,变量,字符串,数组等操作

    🎊专栏【玩转Linux操作】 🍔喜欢的诗句:更喜岷山千里雪 三军过后尽开颜。 🎆音乐分享【Counting Stars 】 欢迎并且感谢大家指出小吉的问题🥰 Shell 是一个用 C 语言编写的程序,它是用户使用 Linux 的桥梁。Shell 既是一种命令语言,又是一种程序设计语言。Shell 是指一种应用

    2024年02月11日
    浏览(34)
  • linux的shell script判断用户输入的字符串,判断主机端口开通情况

    判断输入的字符串是否是hello 图一运行报错 检查发下,elif  判断里面少个引号,哎,现在小白到了,一看就会,一写就错的时候了,好像现在案例比较简单,行数较少。 案例二 if 结合test 判断主机端口 802,2,21,21,25是否通过,明天吧

    2024年02月06日
    浏览(33)
  • SHELL字符串提取

    Shell 截取字符串通常有两种方式:从指定位置开始截取和从指定字符(子字符串)开始截取。 一、从指定位置开始截取,Shell 同时支持从左和从右两种计数方式 1.从字符串左边开始计数 此方法需要提供位置参数和长度参数,如${string:start:length},string 是要截取的字符串,star

    2024年02月14日
    浏览(29)
  • shell 拼接字符串,出现后面的字符串覆盖前面的字符串问题

    shell 拼接字符串语法很简单两个参数并排前后写上接口,如下 str1=www str2=bbb s t r 1 str1 s t r 1 str2 的结果未 wwwbbb 有时会出现如下问题: 在拼接字符串的时候,后面的字符串将前面的字符串覆盖了。 shell的内容如下: #!/bin/bash date_str=“ date +%Y%m%d ” echo $date_str python_file_name=\\\" 1

    2024年02月09日
    浏览(39)
  • 【shell】字符串截取&替换&分割

    目录 一、字符串输出 二、字符串截取 1.根据下标截取 2.根据指定字符截取 (1)使用 # 截取指定字符右边的所有内容 (2)使用 % 截取指定字符左边的所有内容 三、字符串替换 1.替换一个(从左到右) 2.替换一个(从右到左) 3.替换所有 四、字符串分割 shell字符串可以用

    2024年01月20日
    浏览(35)
  • Shell编程学习之字符串的使用

    分析:类似于 C语言 中 strlen函数 ; 使用 \\\"#\\\" 于引用变量值中; 测试案例: 运行结果: 分析:类似于 C语言 中 strcpy函数 ; 实质上,就是一个变量的值赋值到另一个变量; 测试案例: 运行结果: 分析:类似于 C语言 中 strcat函数 ; 注意引用时要加 符号\\\'{}\\\' ; 测试案例: 运

    2024年02月12日
    浏览(27)
  • shell 几种字符串加解密方法

    第一种:〔 Python 与 Bash Shell 的结合 〕 这个命令会让你输入一个字符串,然后会再输出一串加密了的数字。 加密代码[照直输入]: python -c \\\'print reduce(lambda a,b: a*256+ord(b), raw_input(\\\"string: \\\"), 0)\\\' 解密代码[数字后+P]: dc -e 输出的数字P 第二种:〔 应该是纯 Bash Shell,含 VIM 的 xx

    2024年01月18日
    浏览(38)
  • 【运维工程师学习三】Linux中Shell脚本编写

    Shell程序有很多, 如 Korn shell(ksh)、Bourne Again shell(bash)、C shell(包括csh与tcsh) 等等, 各主要操作系统下缺省的shell: AIX下是 Korn Shell Solaris缺省的是 Bourne shell FreeBSD缺省的是 C shell HP-UX缺省的是 POSIX shell Linux缺省的是 Bourne Again shell 但这种在命令行中的命令是即时输出结果的,不

    2024年02月11日
    浏览(57)
  • 【Linux运维】shell脚本检查服务器内存和CPU利用率

    在管理服务器时候写了一个 shell脚本,在服务上实现每天凌晨3点查系统的指定文件夹下的容量大小,如果超过10G就要删除3天前的内容,还要时刻查询内存和cpu利用率,如果超过80%就要提示用户出现过载 将以上代码保存为一个.sh文件,然后通过crontab在每天凌晨3点运行即可:

    2024年02月09日
    浏览(48)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包