❶ 请教linux shell命令中双引号与单引号嵌套的问题
1、首先在Linux系统中,使用echo $ 0来显示如下输出。
❷ 关于linux下面的名词解释
RPM是软件包管理器,是开放打包系统,用来维护一个已安装软件包和他们的文件数据库。
LILO(LinuxLoader)是一个灵活的引导加载程序。
SHELL本地变量 同局部变量一样,只在本SHELL中起作用。它不会影响到其他SHELL中的变量。
Shell编程中使用到三种引号:双引号"、单引号'、反引号`(和波浪线一个键的那个)
这三种引号在不同的应用场合使用起来非常方便。
1、双引号
使用双引号可引用除字符$、`、\外的任意字符或字符串。这些特殊字符分别为美元符号,反引号和反斜线,对s h e l l来说,它们有特殊意义。如果使用双引号将字符串赋给变量并反馈它,实际上与直接反馈变量并无差别。如果要查询包含空格的字符串,经常会用到双引号。
A、直接使用双引号打印字符:
echo "My Day"
My Day
B、双引号中替换变量
$STR="My Day"
echo "$STR"
My Day
2、单引号
单引号与双引号类似,不同的是s h e l l会忽略任何引用值。换句话说,如果屏蔽了其特殊含义,会将引号里的所有字符,包括引号都作为一个字符串。
STATUS="well"
echo "I feel '$STATUS'"
I fell 'well'
3、反引号
反引号用于设置系统命令的输出到变量。s h e l l将反引号中的内容作为一个系统命令,并执行其内容。使用这种方法可以替换输出为一个变量。反引号可以与引号结合使用。
echo `date`
Sun Jan 13 15:23:34 GMT 2007
Shell位置参数
1.$0, $1, $2,等等:位置参数,从命令行传递给脚本,或者是传递给函数.或者赋职给一个变量.
Linux指令-取代指定档案中的指定字串,将如果你要取代一个档案中的特定字串,而该字串出现的次数又相当的多,此时可以利用下面的 sed 来一次取代全部的字串
sed 's/xxx/yyy/g' wm3.conf > wm31.conf
上面的指令意思是说将 wm3.conf 中的 xxx 字串取代成 yyy 字串,
不知道能不能帮助你····
❸ linux变量设置当中,如 myname='$name its me'使用单引号, 变量$name将失去原有变量内容。
在编写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 "$ ` " \"
$ ` "
❹ Linux shell 中单引号字符串里面有单引号字符怎么办
Linux shell 中单引号字符串里面有单引号字符解决:
$echo"mocha。reporter('spec')"|sed"s/'spec'/'json'/"
mocha.reporter('json')
有单引号的情况就用双引号呗
$echo"mocha.reporter('spec')"|sed$'s/'spec'/'json'/'
mocha.reporter('json')
或者也可以这样、加个$让bash转义
控制字符
转义字符不属于控制字符;控制字符也不属于转义字符。如果控制字符的定义是非图形的字符,或者对输出设备(打印机、文本终端)有特殊意义的字符,那么针对这些设备的转义字符也是控制字符。但是程序设计用的转义字符是图形字符,因此它们不是控制字符。相反地,大多数ASCII控制字符单独都具有控制功能,因此它们不是转义字符。