iis服务器助手广告广告
返回顶部
首页 > 资讯 > 精选 >如何使用Shell编程Bash引号
  • 724
分享到

如何使用Shell编程Bash引号

2023-06-09 18:06:50 724人浏览 薄情痞子
摘要

本篇内容介绍了“如何使用shell编程Bash引号”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!先了解下,在bash脚本中,有三种引号 单引

本篇内容介绍了“如何使用shell编程Bash引号”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!

先了解下,在bash脚本中,有三种引号

单引号 '
2. 双引号 "
3. 反引号 `

单引号
        两个单引号包围起来的字符串就是普通的字符串,它将保留原始的字面意思.
双引号
        两个双引号包围起来的字符串,部分特殊字符将起到它们的作用.
        这些特殊字符有: 美元符$, 反斜杠\, 反引号,  感叹号!.
反引号
        两个反引号包围起来的字符串,将作为命令来运行,
        执行的输出结果作为该反引号的内容,称为命令替换,
        它有另一种更好的写法: $(command)
我们来看几个例子,更直接的了解这三种引号的特性.

美元符$在单、双引号中的表现: 在双引号中的$, 将发生变量引用, 而在单引号中的$, 将保留它的字面意思

代码如下:

igi@gentoo ~ $ echo '$HOME'
$HOME
igi@gentoo ~ $ echo "$HOME"
/home/igi

注: HOME为内部变量

反斜杠\ 在单、双引号中的表现: 在双引号中的\, 将转义它后面的字符,使其具有特殊意义或者失去原来的特殊意义, 在单引号中的\, 将保留它的字面意思

代码如下:

igi@gentoo ~ $ echo '\$HOME'
\$HOME
igi@gentoo ~ $ echo "\$HOME"
$HOME

注: 双引号中的\,后面跟着$, 这里发生了转义,使得$失去特殊意义, 变成普通字符.

反引号与其他两种引号的不同: 反引号包围起来的字符串将被运行,取其结果

代码如下:

igi@gentoo ~ $ echo 'date'
date
igi@gentoo ~ $ echo "date"
date
igi@gentoo ~ $ echo `date`
Fri Dec 3 18:34:09 CST 2010

注: 在反引号中的date被当成命令执行,包含的正是命令的输出信息

了解了他们的不同,我们来聊一聊常见的问题

把反引号` 写 成单引号'

不得不说,它们长得确实很像,个别书的印刷字体区别度不高或者印刷质量不过关, 导致了很多新手认错,常把反引号`写成单引号'。如果你不知道反引号在哪,请看看Esc键下面的那个按键, 那个就是反引号。当然也不排除有些人看书不注意,这也是常有的事。只要我们明白了反引号与单引号作用的区别,什么时候要用单引号,什么时候要用反引号就一 清二楚了。当你需要一个字符串时,使用单引号; 而当你需要捕捉命令的输出时,请用反引号。

总是忘了加双引号
双引号不总是多余的,被它包围的数据变得很安全,不至于被bash切开对待。

代码如下:

igi@gentoo ~ $ seq 3
1
2
3
igi@gentoo ~ $ echo `seq 3`
1 2 3
igi@gentoo ~ $ echo "`seq 3`"
1
2
3

注: seq输出的是包含换行的信息,但echo `seq 3` 却丢失了换行符,因为bash在解析时认为`seq 3`的输出结果是3个独立的字符,解析后与echo 1 2 3相同(这个过程,bash做了很多工作,有兴趣的可以了解下bash解析顺序); 而echo “`seq 3`”时,bash把`seq 3`的输出结果当成一个整体对待(因为它被双引号包围),所以输出的结果不会被bash拆分对待,换行符得以保留。所以,当你需要保留变量或者命令替换的 完整信息, 特别是换行符时,请记得给它们戴上双引号作保险,时刻加个双引号是个好习惯(为什么不是单引号呢?前面解释了,单引号里面没有魔法,变量也变不了了,命令 替换也替换不了了)。再次提醒: “$var”, “`command`”, 都比$var, `command`安全得多,很多情况下,前面的才是你要的结果,除非你知道你在做什么,否则不要轻易省略双引号。

引号嵌套总是混乱的

引号中包含其他引号,只要能理解单引号和双引号中字符的表现,就不难掌握

代码如下:

igi@gentoo ~ $ echo "abc\"abc"
abc"abc
igi@gentoo ~ $ echo "abc\'abc"
abc'abc
igi@gentoo ~ $ echo "abc\`abc"
abc`abc

如你所见,双引号中加入其他引号很容易,你只需要用反斜杠\转义你要添加的引号(双引号中加单引号可以不用转义)。 那么单引号中是否如此简单?

代码如下:

igi@gentoo ~ $ echo 'abc"abc'
abc"abc
igi@gentoo ~ $ echo 'abc`abc'
abc`abc

到这里,确实很简单,单引号中都是普通字符,所以完全不需要转义,如果加了反斜杠\, 那么反斜杠依然是它自己,直接打印出来。

代码如下:

igi@gentoo ~ $ echo 'abc\"\`abc'
abc\"\`abc

问题来了,单引号中如何包含单引号?这个时候,反斜杠\也是无用的, 如果直接写单引号,那么bash会认为引号还没结束。好吧,如果你不幸碰到这样的问题,还是有办法解决的

代码如下:

igi@gentoo ~ $ echo $'abc\'abc'
abc'abc
igi@gentoo ~ $ echo -e 'abc\x27abc'
abc'abc
igi@gentoo ~ $ echo 'abc'\''abc'
abc'abc

“如何使用Shell编程Bash引号”的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识可以关注编程网网站,小编将为大家输出更多高质量的实用文章!

--结束END--

本文标题: 如何使用Shell编程Bash引号

本文链接: https://www.lsjlt.com/news/257216.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • 如何使用Shell编程Bash引号
    本篇内容介绍了“如何使用Shell编程Bash引号”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!先了解下,在bash脚本中,有三种引号 单引...
    99+
    2023-06-09
  • 如何使用Shell编程Bash空格
    本篇内容介绍了“如何使用Shell编程Bash空格”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!先了解下bash中什么时候该用空格,什么时候...
    99+
    2023-06-09
  • bash中反引号和$()如何使用
    这篇文章主要介绍了bash中反引号和$()如何使用的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇bash中反引号和$()如何使用文章都会有所收获,下面我们一起来看看吧。在bash中,与(反引号)都是用来作命令替...
    99+
    2023-06-28
  • 如何使用Bash Shell
    本篇内容主要讲解“如何使用Bash Shell”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“如何使用Bash Shell”吧!作为一个命令行探索者,你或许发现你自己一遍又一遍重复同样的命令。如果...
    99+
    2023-06-09
  • 如何理解shell编程中的BASH
    本篇内容介绍了“如何理解shell编程中的BASH”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!认识Bash通过Shell将输入的指令与Ke...
    99+
    2023-06-09
  • 如何使用Shell编程
    本篇内容介绍了“如何使用Shell编程”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!基础知识shell执行方式   sh...
    99+
    2023-06-09
  • shell编程中如何分析bash变量
    本篇文章为大家展示了shell编程中如何分析bash变量,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。导读shell编程--bash变量介绍 ,变量是计算机内存的单元,其中存放的值可以改变。当&nb...
    99+
    2023-06-05
  • Shell AWK编程如何使用
    这篇文章主要介绍“Shell AWK编程如何使用”,在日常操作中,相信很多人在Shell AWK编程如何使用问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”Shell AWK编程如...
    99+
    2023-07-02
  • 如何用Bash编程
    这篇文章将为大家详细讲解有关如何用Bash编程,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。Shell 是操作系统的命令解释器,其中 Bash 是我最喜欢的。每当用户或者系统管理员将命令输入系统的时候,L...
    99+
    2023-06-16
  • 如何使用shell编程中空格
    这篇文章主要介绍“如何使用shell编程中空格”,在日常操作中,相信很多人在如何使用shell编程中空格问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”如何使用shell编程中空格”的疑惑有所帮助!接下来,请跟...
    99+
    2023-06-09
  • Java编程:如何使用Bash优化算法?
    在日常的Java编程中,算法优化是一个非常重要的课题。随着数据量的增加,算法的效率会成为制约程序性能的瓶颈。而Bash脚本则是一种可以帮助我们快速优化算法的工具。本文将介绍如何使用Bash优化Java算法,并通过实例演示其具体应用。 一、...
    99+
    2023-06-19
    教程 编程算法 bash
  • 如何用Bash编程实现逻辑操作符和shell扩展
    这篇文章将为大家详细讲解有关如何用Bash编程实现逻辑操作符和shell扩展,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。逻辑操作符Bash 中有大量的用于不同条件表达式的逻辑操作符。最基本的是 if 控...
    99+
    2023-06-16
  • linux中Bash如何使用花括号{}
    这篇文章主要为大家展示了“linux中Bash如何使用花括号{}”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“linux中Bash如何使用花括号{}”这篇文章吧。花括号{}的使用通过括号扩展可以...
    99+
    2023-06-27
  • 编程算法:如何使用Java和Bash实现?
    随着计算机技术的不断发展,编程算法成为了计算机领域中的一项重要技能。在现代计算机领域中,编程算法已经成为了一个基础技能,因此熟练掌握编程算法对于计算机从业者来说是非常重要的。 本文将介绍如何使用Java和Bash实现编程算法。Java是一...
    99+
    2023-06-19
    教程 编程算法 bash
  • 如何使用编程中花括号
    本篇内容介绍了“如何使用编程中花括号”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!首先,以非块状语言为例所...
    99+
    2024-04-02
  • Shell脚本中单引号(‘)和双引号(“)有哪些使用区别
    本篇内容介绍了“Shell脚本中单引号(‘)和双引号(“)有哪些使用区别”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!在Linux操作系统上...
    99+
    2023-06-09
  • C语言单引号与双引号如何使用
    今天小编给大家分享一下C语言单引号与双引号如何使用的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。一、单引号和双引号C语言中的...
    99+
    2023-06-30
  • Python 并发编程:如何在 bash 中使用函数?
    在编写 bash 脚本时,有时需要调用 Python 脚本中的函数来实现一些复杂的逻辑。而 Python 作为一种高效且灵活的编程语言,提供了多种并发编程方式,可以帮助我们更好地实现这些逻辑。在本文中,我们将介绍如何在 bash 中使用 ...
    99+
    2023-07-08
    并发 bash 函数
  • Java教程:如何使用Bash编程实现高效算法?
    Bash是一种基于文本的Shell程序设计语言,它可以方便地调用Linux系统命令,并且可以写出高效的算法。在Java开发中,我们可以使用Bash编写一些高效的脚本,以提高我们的开发效率。本文将介绍如何使用Bash编写高效的算法,帮助Ja...
    99+
    2023-06-19
    教程 编程算法 bash
  • 如何使用Python和Bash编写最有效的编程算法?
    在编写编程算法时,Python和Bash是两个非常实用的编程语言。它们都具有强大的功能和灵活性,可以帮助程序员更快地编写高效的算法。在本文中,我们将介绍如何使用Python和Bash编写最有效的编程算法。 一、Python编写算法 Pyth...
    99+
    2023-06-24
    bash 编程算法 编程算法
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作