号令前加eval是使shell在施行号令行之前扫描它两次(先取$里的变量值,再赋值)。
单引号和双引号都能封闭shell对特殊字符的处置。差别的是,双引号没有单引号严厉,单引号封闭所有有特殊感化的字符,而双引号只要求shell漠视大大都,详细的说,就是①美圆符号②反引号③反斜杠,那3种特殊字符不被漠视。 不漠视美圆符号意味着shell在双引号内部也停止变量名替代。
双引号就是避免将变量名后面的字符串也当做变量名的一部门,你那号令里的单引号确实没需要加(但=前的双引号必需得加),我都试过了,加了也不影响,应该起个强调感化,小我敲号令的习惯。
0