下边shell语言中eval,又加单引号,又加双引号,有什么含义,单双引号有什...
发布网友
发布时间:2022-05-08 16:45
我来回答
共1个回答
热心网友
时间:2023-01-22 03:27
命令前加eval是使shell在执行命令行之前扫描它两次(先取$里的变量值,再赋值)。
单引号和双引号都能关闭shell对特殊字符的处理。不同的是,双引号没有单引号严格,单引号关闭所有有特殊作用的字符,而双引号只要求shell忽略大多数,具体的说,就是①美元符号②反引号③反斜杠,这3种特殊字符不被忽略。 不忽略美元符号意味着shell在双引号内部也进行变量名替换。
双引号就是防止将变量名后面的字符串也当作变量名的一部分,你这命令里的单引号确实没必要加(但=前的双引号必须得加),我都试过了,加了也不影响,应该起个强调作用,个人敲命令的习惯。