首页 > 系统相关 >Shell-单引号和双引号的区别

Shell-单引号和双引号的区别

时间:2024-05-24 16:40:33浏览次数:14  
标签:Shell 双引号 单引号 echo date 引用 VAR

在shell脚本中,单引号(')和双引号(")都用于文本引用,但它们之间有一些区别:

双引号

[1] 当要引用一个变量的值时,一般推荐使用双引号。

[2] 使用双引号除了变量名前缀($)、后引符(`)和转义符(\)外,会使shell不再解释引号中其它所有的特殊字符。

[3] 用双引号时$仍被当成特殊字符,允许引用一个被双引号引起的变量("$variable"), 那也是说$variable会被它的值所代替。

[4] 用双引号还能使句子不被分割开.  一个参数用双引号引起来能使它被看做一个单元,这样即使参数里面包含有空白字符也不会被shell分割开了。

 

单引号

单引号(' ')和双引号类似,但它不允许解释变量引用,因此,在单引号内的字符$的特殊意思无效了。在单引号内,除了字符',每个特殊字符都只是字面的意思。

单引号(全局引用)比双引号(部分引用)更严格的处理引用部分。

 

单引号示例:

echo 'This is a single quote: '
echo 'The value of VAR is: $VAR'                 # $VAR不会被替换
echo 'To get the time using `date` command'      # `date`不会被执行

 

双引号示例:

echo "This is a double quote:"
echo "The value of VAR is: $VAR"                      # $VAR会被替换成变量的值
echo "To get the time using `date` command: $(date)"  # `date`会被执行并输出

 

标签:Shell,双引号,单引号,echo,date,引用,VAR
From: https://www.cnblogs.com/yeyuzhuanjia/p/18211234

相关文章

  • Bash反弹shell & 搭建网页服务器 & 文件描述符学习 & ssh连接vm虚拟机 & sftp进行文件
    环境:kali:┌──(kali㉿kali)-[~/Desktop]└─$cat/proc/versionLinuxversion6.0.0-kali5-amd64([email protected])(gcc-12(Debian12.2.0-9)12.2.0,GNUld(GNUBinutilsforDebian)1.建立一个简单的链接进行nc,可以进行两个端口通信!#首先使用nc监听......
  • PowerShell 中重置SQL SERVER数据库的 SA(System Administrator)密码可以通过 SQL Serve
    PowerShell中重置数据库的SA(SystemAdministrator)密码可以通过SQLServerManagementObjects(SMO)来完成。以下是一个基本的PowerShell脚本,可以用来重置SA用户的密码:powershellCopyCode#导入SQLServer模块Import-ModuleSQLPS-DisableNameChecking#设置SQL......
  • MeterSphere BeanShell 前置脚本拦截请求,获取请求参数,加密后放回请求体
    在 BeanShell 前置脚本中拦截请求,获取请求参数,加密后放回请求头背景在测试小程序项目时,需要对post接口请求中的参数值拼成字符串,进行sha256加密,然后将加密好的字符串,存到请求头中。具体操作:这个场景就需要在前置处理器中使用 beanshell 进行请求拦截,对参数进行加密修改后,......
  • Make your own shell -- Assign4
    前言整个实验做了四天,也有很多东西想聊的。主要是分享我对其中的一些系统调用的理解,和整个shell是如何工作的,可能会有一些代码上的剧透,未完成该实验的朋友慎重观看。理解UnixShell在Linux中我们打开了一个终端,内核就会执行一个fork()来启动一个shell,之后我们在这个shell中输......
  • Jmeter脚本--BeanShell PreProcessor
    整理一份之前项目中的接口测试文档内容,主要为了方便以后能够更好的进行接口测试需求,本次以Jmeter进行接口测试。API对应的使用手册    接口对应的测试用例如下图所示:编写Jmeter测试用例 用户注册信息 添加BeanShellPreProcessor预处理程序变量脚......
  • powershell脚本批量拉取 git仓库文件
    #定义基础URL和数据库列表$BASE_URL="http://8.8.11.99:8999/yaya/"$DATABASES="common-service","bi-system","erp","gateway","pdm","plm","public-service","scm",&quo......
  • 写一个Linux的 shell脚本删除目录 stud001~stud140 目录下的所有文件
    用户:在linux的shell脚本中写个循环,可以遍历目录stud001直到stud140,并将目录stud001到stud140目录中的内容全部删除。讯飞星火:在shell脚本中,我们可以使用for循环和rm命令来实现这个需求。以下是一个简单的示例:1#!/bin/bash2foriin$(seq-f"%03g"1140)3do4......
  • 基于ADB Shell 实现的 Android TV、电视盒子万能遥控器 — ADB Remote ATV
    ADBRemoteATVAndroidTV的遥控器,基于ADBShell命令ADBRemoteATV是一个AndroidTV的遥控器,基于ADBShell命令,泛用性更高。下面的shell命令,是软件的基本原理,通过shell命令可模拟物理遥控器的基本按键,此外还可以快捷启动指定APP、借助手机软键盘输入中/英字符等。......
  • shell(一)
    shell(一)单选题1、在bash中,快捷键【Ctrl+Z】的作用是什么?A、中止前台任务B、给当前文件加上.eofC、将前台任务转入后台D、注销当前用户2、使用sed命令删除文件file中的所有文本行开头的空格,下列命令正确的是。A、sed-r's/^\s+//g'fileB、.sed-r'/^./s*///g'file......
  • Shell阶段04 shell流程之case语句, 服务启动停止脚本(rsync, nginx), shell加锁机制
    1.流程控制语句之case语句case主要作用是对程序的选择,循环等操作#语法:case变量in变量值1)命令序列;;#命令序列结束符变量值2)命令序列;;变量值3)命令序列;;变量值N)命令序列......