在Linux中双引号可以取消分隔符的转义,空格算不算?能不能举个例子??
还有,find "/home/tmp" -name "*.*" -atime +10 -ok rm -f {} \对于这条shell语句中的"*.*",不是说双引号取消通配符的作用吗,那么它不就成了寻找*.* 这个文件了吗?
双引号里可以套变量,单引号里不能套变量。
Linux的三中引号:双引号 " " ,单引号 ' ', 还有就是反引号 ` `
单引号和双引号的作用是差不多的,在里面的结果都是字符串,比如
a="date" ,b='date' 这两个是一样的。
反引号的作用就不一样了,反引号是把里面的当作一个命令来执行,比如
c=`date`
当 echo $a $b $c的时候 结果就分别是
date date 2014-11-1 20:33
扩展资料:
Linux *** 作系统是基于UNIX *** 作系统发展而来的一种克隆系统,它诞生于1991 年的 [Linux桌面] 10 月5 日(这是第一次正式向外公布的时间)。以后借助于Internet网络,并通过全世界各地计算机爱好者的共同努力,已成为今天世界上使用最多的一种UNIX 类 *** 作系统,并且使用人数还在迅猛增长。
在编写shell脚本网页链接的时候经常会用到引号,有些时候却老是忘记单引号和双引号之间的区别,
所以就整理一下供以后脑子不好使了的时候前来复习一下。首先说下他们的共同点: 好像就只有
一个,就是它们都可以用来界定一个字符串,这个没什么好解释的,真正需要记住的是它们区别,
所以经过整理后,它们的区别主要包括:
1)、单引号属于强引用,它会忽略所有被引起来的字符的特殊处理,被引用起来的字符会被原封不动的使用,唯一需要注意的点是不允许引用自身;
2)、双引号属于弱引用,它会对一些被引起来的字符进行特殊处理,主要包括以下情况:
1:$加变量名可以取变量的值 ,比如:
[root@localhost ~]# echo '$PWD'
$PWD
[root@localhost ~]# echo "$PWD"
/root
2:反引号和$()引起来的字符会被当做命令执行后替换原来的字符,比如:
[root@localhost ~]# echo '$(echo hello world)'
$(echo hello world)
[root@localhost ~]# echo "$(echo hello world)"
hello world
[root@localhost ~]# echo '`echo hello world`'
`echo hello world`
[root@localhost ~]# echo "`echo hello world`"
hello world
3:当需要使用字符($ ` " \)时必须进行转义,也就是在前面加\ ;
[root@localhost ~]# echo '$ ` " \'
$ ` " \
[root@localhost ~]# echo "\$ \` \" \\"
$ ` " \
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名称。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)