linux脚本文件字符串不加引号和加引号有什么区别

我的测试脚本文件如下:运行结果如下:加不加引号的输出都是一样的,这是为什么?它们有什么区别?求高手指点…………... 我的测试脚本文件如下:

运行结果如下:

加不加引号的输出都是一样的,这是为什么?它们有什么区别?求高手指点…………
展开
 我来答
videlord
2013-11-22 · TA获得超过1336个赞
知道大有可为答主
回答量:1518
采纳率:66%
帮助的人:436万
展开全部

双引号在bash中称作partial quoting或者weak quoting,引号中的字符串很多不会被特殊转换,如:

  1. 空格作为词的分割符

  2. 单引号中的词

  3. 字符模式匹配

  4. 路径名扩展

  5. 进程替换 (重定向)

对于普通的字符,加不加双引号,单引号都一样

你想要看区别,可以尝试以下的一些例子:

a. touch "test me" 和 touch test me

b. echo "'$PATH'" 和 echo '$PATH'

c. echo "*" 和 echo *

d. ls "~" 和 ls ~

e.  ls "> out1" 和 ls > out1

追问
想问一下
var=1和var="1"有什么区别,
因为用if [ var = 1 ]来判断时都为真,是不是和C语言中的意思有区别
追答
bash变量是没有类型的,整数1和字符“1”是一样的
C语言1是整数,“1”是字符(串)
cang_feng
2013-11-22 · TA获得超过296个赞
知道答主
回答量:157
采纳率:100%
帮助的人:205万
展开全部
它们的区别仅仅在于,当需要打印的字符串中包含不同的引号时。比如:

1、显示一个带单引号的字符串 'hello'
$ echo " 'hello' " #正确打印出 'hello'
$ echo 'hello' #打印 hello

2、显示带双引号的字符串 “hello”
$ echo ' "hello" ' #正确打印出 “hello”
$ echo "hello" #打印 hello
追问
哥们答非所问了哦,我想要了解的是:字符串不加引号和加引号有什么区别,不过还是谢谢人的回答
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式