Shell是用C语言编写的程序,它是使用Linux的用户桥梁。Shell既是命令语言又是编程语言。Shell是指提供一个使用此接口来通过该接口来访问Service System内核服务的应用程序此界面。
Ken Thompson的SH是第一个Unix Shell,Windows Explorer是典型的图形接口Shell.shell脚本(Shell Script)是为Shell编写的脚本程序。
例如:
请注意,变量名称和等量数之间没有空间,这可能与您熟悉的所有编程语言有所不同。在同一时间,变量名的名称必须遵循以下规则:
只要您在变量名称的前面添加美元符号,请使用定义的变量。
可以重新定义定义的变量。
使用readonly命令可以将变量定义为仅读取变量,而仅读取变量的值不能更改。
您可以删除具有未设置变量的变量。
deleting.unset命令无法仅删除读取变量后不能使用变量。
字符串是Shell编程中最常用的数据类型。字符串可以使用单语引号,双引号或引号。
单引号字符串的限制:
双重报价的优点:
注意:在上面的脚本中,它是一个反引号,而不是单个引号。
在Shell中,使用括号表示数组,并且数组元素被分为“空间”符号。定义数组的一般形式为:
例如:
或者
您还可以分别定义数组的组件:
它不能用于连续定居,并且投标范围不受限制。
一般格式是:
例如:
使用@符号在数组中获取所有元素,例如:
获得数组长度的方法与获得字符串长度的方法相同,例如:::
单注:从#开始
多行评论:
执行shell脚本时,将参数传递到脚本,脚本中的参数格式为:$ n.n代表一个数字,1是执行脚本的第一个参数,2是执行脚本的第二个参数,等等。参数格式|描述||---- |------------ ||$#|参数传递给脚本||$ |脚本的当前进程ID运行||$!|背景操作的最后一个过程的ID号||$@ |与$相同,但是在使用过程中添加了引号,并且在引号|中返回每个参数。|$ - |显示Shell使用的当前选项,与SET命令函数相同。|$?|显示最终命令的退出状态。0表示没有错误,任何其他值表示错误
壳阵列由括号表示。该元素分为“空间”的符号。语法格式如下:
使用@或 *获取数组中的所有元素,例如:
与其他编程语言一样,Shell也支持各种操作员,包括:
本机bash不支持简单的数学操作,但可以通过其他命令(例如awk和expr)来实现,最常用的expr.expr是一种表达式计算工具,它使用它来完成表达式的值。
例如,添加了两个数字(请注意,使用反引号`而不是单个引号编号)
+添加的结果是30-求的结果为-10*乘法结果为200/除法结果为2%。结果是0 =分配值a = $ b,以将变量b的值归为a == quare.compare这两个数字,而相同的回报为true [$ a == $ b]回到false!=不等于两个数字,差返回true [$ a!= $ b]返回true注意:
-EQ检测两个数字是否相等,然后返回到true [$ a -eq $ b]回到false -ne检测两个数字是否不相等,然后返回true [$ a -ne $ b]返回到true -gt检测到左侧的检测数量大于右边,如果是的话,返回true [$ a -gt $ b]返回false -lt,以检测左上的数字是否小于右边。GE检测左侧的数字是否大于右侧。如果是这样,请返回true [$ a -ge $ b]返回到false -le,以检测左侧的数字是否小于右侧。如果是这样,请返回true [$ a -le $ b]回到true!非操作,表达式为真,表达式返回false,否则真实[!false]将返回true -o或操作。有一个表达式返回true [$ a -lt 20 -o $ $ $ $ b -GT 100]返回true -a和操作。在返回true [$ a -lt 20 -a $ b -gt 100]返回false &&逻辑[[$ a -lt 100 && $ b -GT 100]]返回false // logic或[$a -lt 100 // $ b -gt 100]]回到true = =检测两个字符串是否相等,然后返回true [$ a = $ b]返回false!=检测两个字符串是否不相等,然后返回到true [$ a!= $ b]返回到true-z,以检测字符串的长度是否为0,to return true [-z $ a]返回false-n检测字符串的字符串长度不是0,而它不是0返回true [-n“ $ a”]返回true $检测字符串是空的。这是一个设备文件。如果是这样,请返回true [-b $ file],然后返回false -c文件以检测文件是否为字符设备文件。它是目录。如果是这样,请返回true [-d $ file]返回到false -f文件以检测它是否是普通文件(目录和设备文件),如果是的,请返回true [-f $ file]返回到returnTrue-g文件检测文件是否设置了SGID位。如果是这样, 返回true [-g $文件],然后返回错误-K文件检测文件是否设置了贴纸位置。文件]返回到false -P文件,以检测文件是否为已知的频道。如果是这样,请返回true [-p $ file],然后返回false -U文件以测试是否设置了SUID位。]返回到要读取的False-R文件检测文件。如果是这样,请返回true [-r $ file]返回可以写入true-w文件检测文件。x文件检测是否可以执行文件,如果是这样,请返回true [-x $ file]并返回true true-s文件以检测文件是否为空(是否大于0),并在没有AIR.TRUE -E -e文件检测文件(包括目录)的情况下返回true [-s $ file]。如果是这样,请返回true [-e $ file]返回true9.1显示普通字符串
9.2显示刚性字符
9.3显示变量读取命令以从标准输入中读取一行,并将输入库的每个字段的值指定为shell变量。
9.4显示更改
9.5显示不会改变业务
9.6显示结果指向文件
printf使用参考文本或空间分离的参数。它可以在printf中用于使用格式字符串,并且还可以开发字符串的宽度。默认的printf不会自动添加诸如echo之类的更改符号,我们可以手动添加
本质
printf命令语法:
printf的旋转序列警告字符通常是ASCII的BEL字符B背部cress的Beel字符B(未显示)在输出结果结果中的任何结尾字符(仅在%B格式的参数字符串中,剩余的任何字符)在参数中,任何来自的参数以及格式字符串中留下的任何字符都被忽略f页面
改变 马车返回水平格式v垂直格式的垂直配件ddd表示字符的字符为1至3位的八个数字。格式字符串中的有效0DDD指示1至3-bit八倍值字符shell中的test命令,它用于检查是否建立了某个条件,并且可以测试价值,字符和文件的三个方面。
-eq等于真实-ne non -equal -gt大于true -ge大于属于true -lt是true -le或等于true = true!真实Z字符串的长度是Zero-Zero-Zhezhi -n字符串字符串长度不是零,并且文件的名称为true.Real -W文件名如果文件存在并且可以编写,则为true-x文件名。如果文件存在并且执行是真实的-s文件名。目录是真实的-f文件名。如果文件存在并且普通文件是真实的-c文件名。如果存在文件,并且字符型特殊文件是真实的-b文件,则shell中该函数的定义格式如下:
注意:
在shell中,您可以在调用函数时将参数传递给它。描述||---- |------------------------------------------------------------ |$#|传递给脚本人函数的参数数||$ |在单个字符串中显示所有传输到脚本的参数||$ $ |脚本操作的当前进程ID ||$!|ID号的背景操作的最后一个过程||||| $@ |与$相同,但使用时添加引号,并在报价标记中返回每个参数||$ - |显示Shell使用的当前选项,与SET命令函数相同。|$?|显示最终命令的退出状态。0表示没有错误,任何其他值表示错误
原始:https://juejin.cn/post/710109836687177773