博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
linux shell中'',""和``的区别
阅读量:6340 次
发布时间:2019-06-22

本文共 793 字,大约阅读时间需要 2 分钟。

今天学习一个bash脚本,看到有一条:bin=`dirname "$0"`(dirname filename是输出该文件所在的目录,$0是该bash文件的文件名,在bash中一般使用cd `dirname $0`进入该脚本所在的目录中)我尝试着cat $bin输出是:.然后我将反引号``去掉:bin=dirname "$0"在运行cat $bin后报错。 网上查了一些bash的单引号'',双引号""和反引号``的区别。单引号''和双引号""两者都是解决变量中间有空格的问题。在bash中“空格”是一种很特殊的字符,比如在bash中这样定义str=this is String,这样就会报错,为了避免出错就得使用单引号''和双引号""。单引号'',双引号""的区别是单引号''剥夺了所有字符的特殊含义,单引号''内就变成了单纯的字符。双引号""则对于双引号""内的参数替换($)和命令替换(``)是个例外。比如说   n=3      echo '$n'结果就是n3改成双引号  echo "$n",结果就是3 反引号``反引号``是命令替换,命令替换是指Shell可以先执行``中的命令,将输出结果暂时保存,在适当的地方输出。语法:`command`下面的例子中,将命令执行结果保存在变量中:#!/bin/bashDATE=`date`echo "Date is $DATE"USERS=`who | wc -l`echo "Logged in user are $USERS"UP=`date ; uptime`echo "Uptime is $UP"

原文:https://blog.csdn.net/lisulong1/article/details/79109296 

转载于:https://www.cnblogs.com/jasonzeng/p/10854978.html

你可能感兴趣的文章
linux迁移mysql数据目录
查看>>
脚本源码安装LNMP
查看>>
Percona Server安装
查看>>
函数为左边表达式
查看>>
LoadRunner 12.0.2的安装
查看>>
const,static,extern简介(重要)
查看>>
读书杂谈一
查看>>
winform listbox 元素显示tooltrip
查看>>
cacti安装与配置
查看>>
TF-IDF与余弦相似性的应用(一):自动提取关键词
查看>>
javascript面向对象2
查看>>
限制容器对CPU的使用 - 每天5分钟玩转 Docker 容器技术(28)
查看>>
jquery 实现的一个 随机云标签网页背景
查看>>
RPC
查看>>
android广播事件处理broadcast receive
查看>>
在eclipse 里面 修改tomcat的配置--Server Locations
查看>>
网站 mvc url 路径 设置 为 *.html 的原因
查看>>
mybatis 开启使用 默认的 二级缓存
查看>>
docker 容器 创建和 使用
查看>>
SQLITE使用指南
查看>>