批量拿shell工具【2023】一键自动化全自动工具,批量拿国内,海外shell,日出上百,对于我们自己,学习shell是为了自动化,而自动化则是为了提高工作效率,提高产出。
详情:https://note.youdao.com/s/G3zhC0Cw
t g [ x i s e 9 9 8 ] 有3种援用方式:反斜线援用、单引号援用和双引号援用。
◇ 反斜线转义:使得元字符变为普通的字面字符。但这只能对反斜线后一个字符停止转义。
◇ 单引号援用:单引号内的一切字符全部变为字面符号符号。但留意:单引号内不能再运用单引号,即便运用了反斜线转义也不允许。
◇ 双引号援用:使双引号内一切字符变为字面符号,但"\"、"$"、"`"(反引号)除外,假如开启了"!"援用历史命令时,则感慨号也除外。
解析援用后,于是就能够将命令行停止单词分割,分割后的每一局部都称为一个token。分隔时,不只分割单个命令,还分割命令列表,所以分隔符包括:空格、tab、分号、管道符号、&、&&、||、重定向符号、圆括号等。
于是上述命令分割为以下几个token:
(注:固然换行符是shell划分命令行token的元字符,但是shell并不认识这里的\n,shell只认识我们直接手动敲下的回车键,而这里\n是由echo -e选项辨认的换行符,因而这里的\n不是shell解析命令行时划分token的换行符,于是\n也被以为是双引号包围的token的一局部)
假如分割时发现了管道符号,或者是命令列表等组合了多个命令的状况,则每个命令都的token都互相独立。
(3).检查命令行构造。主要检查能否有命令列表、能否有shell编程构造的命令,如if判别命令、循环构造的for/while/select/until,这些命令属于保存关键字,需求特殊处置。
(4).对第一个token停止别名扩展。假如检查出它是别名,则扩展后回到(2)再次停止token合成过程。假如检查出它是函数,则执行函数体中的复合命令。假如它既是别名,又是函数(即命令别名和函数同称号的状况),则优先执行别名。在概念上,别名的暂时性最强,优先级最高。
(5).停止各种扩展。扩展次第为:大括号扩展;波浪号扩展;参数、变量、算术扩展和命令交换,假如系统支持,此步还停止进程交换;单词拆分;文件名扩展。
不同引号的援用方式,将改动扩展的起始步骤,正如上图所画,没有任何引号时将从头到尾全部扩展,运用单引号时将完整不会停止任何扩展,运用双引号时将从变量交换开端继续扩展。