重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
双引号里可以识别变量
专注于为中小企业提供成都网站制作、网站建设服务,电脑端+手机端+微信端的三站合一,更高效的管理,为中小企业海南州免费做网站提供优质的服务。我们立足成都,凝聚了一批互联网行业人才,有力地推动了超过千家企业的稳健成长,帮助中小企业通过网站建设实现规模扩充和转变。
单引号就是纯字符串
# i=111111
# echo "$i"
111111
# echo '$i'
$i
# echo $i bash
111111 bash
但是不加引号,有时候在脚本里需要区分命令和字符串,就必须加引号,养成良好习惯
1、首先在Linux系统中,使用echo $ 0来显示如下输出。
2、查看Linux系统上可用的所有shell,文件/ etc / shells中列出了Linux系统上可用的所有shell。 可以使用cat命令或更少的命令来查看文件的内容。
3、更改shell以使用另一个shell,要使用其他shell,只需输入其名称即可登录新shell。
4、永久更改Linux中的默认Shell,Linux允许您使用chsh命令更改默认Shell。 为您自己的登录用户更改默认Shell的最佳方法是,使用-s选项指定/ etc / shells文件中列出的Shell名称。
cut。Linux,是一种类似Unix的操作系统,在该操作系统中想要截取双引号内的内容,是可以使用操作系统中的cut操作命令的,Linux可以免费使用,自由传播,多用户、多任务、多线程、多CPU的操作系统。
(1)转义字符“”
如果将“”放到特殊字符前面,shell就忽略这些特殊字符的原有含义,
把它们当作普通字符对待,例如:
上 是将abc?*重命名为abc,将C:backup重命名为backup。因为 件
名中包含特殊字符,所以都使 了转义字符“”。
(2)单引号“ ' ”
如果将字符串放到 对单引号之间,那么字符串中所有字符的特殊含义将被忽略,例如:
上面两条命令完全等效
(3)双引号“""”
双引号的引用与单引号基本相同,包含在双引号内的大部分特殊字符
可以当作普通字符处理,但是仍有一些特殊字符即使 双引号括起来,也
仍然保留自己的特殊含义,比如“$”、“”和“`”。
从上面的输出可以看出,“$”和“”在双引号内仍然保留了特殊含义。
上面的输出中,字符“`”在双引号中也保留了自己的特殊含义。
单引号:所见即所得,即将单引号内的内容原样输出,或者描述为单引号里面看到的是什么就输出什么。
双引号:把双引号里面的内容给输出出来,如果内容中有命令、变量等,会先把,变来那个、命令解析出结果,然后输出最终内容。
双引号内的命令或者变量写法’命令或变量’或$(命令或变量)
无引号:把内容输出出来,可能不会键含有空格的字符串,视为一个整体输出,如果内容中有命令、变量等,会先把变量、命令解析出来,然后输出最终内容,如果字符串中带有空格等特殊字符,则不能完整输出,需要改加双引号。一般连续的字符串,数字,路径等可以用,不过最好用双引号,替代之。
如果有什么不懂的话可以去看看《Linux就该这么学》这本书,非常适合新手学习Linux。
shell脚本中的单引号和双引号一样都是字符串的界定符,而不是字符的界定符。单引号用于保持引号内所有字符的字面值,即使引号内的\和回车也不例外,但是字符串中不能出现单引号。(注意是所有,只是单引号本身不能够出现在其中)。
双引号用于保持引号内所有字符的字面值(回车也不例外),但以下情况除外:
$加变量名可以取变量的值
反引号仍表示命令替换
\$表示$的字面值
\`表示`的字面值
\"表示"的字面值
\\表示\的字面值
除以上情况之外,在其它字符前面的\无特殊含义,只表示字面值。
从上就可以看出单引号和双引号的区别。下面举几个例子:
可见,单引号中完全是保持字符串的原型输出,而双引号进行了命令替换。
由上可见虽然单引号和双引号都是字符串的限定符,但还是有所区别。