Shell Programming
文章平均质量分 78
Shell Programming
凤舞飘伶
这个作者很懒,什么都没留下…
展开
-
shell数组
数组在内存中是先开辟一段连续的大内存空间,随后数组中的每个元素都放入数组内存中。数组元素使用数组index标识。 unset test[下标]撤销元素 不加下标 撤销整个数组 普通数组 普通数组只能使用整型数值作为数组索引。 注意数组中定义是使用空格作为分隔符定义在括号内,而不是逗号。如果使用逗号,则它们将作为一个整体,也就是数组索引0的值。...原创 2019-08-16 16:51:57 · 135 阅读 · 0 评论 -
shell知识点
静态语言是编译型语言,强类型的语言 如C,C++,java(面向对象),C#, 动态语言是解释型语言,弱类型的语言,边解释边执行 ,需要解释器,解释器是用静态语言开发的如shell(面向过程), perl,asp,asp.net,php,python(面向对象) 脚本执行 1.赋予权限,...原创 2019-08-14 17:04:24 · 176 阅读 · 0 评论 -
getopt设计shell脚本选项
写shell脚本的时候,通过while、case、shift来设计脚本的命令行选项是一件比较麻烦的事,因为Unix命令行的选项和参数自由度很高,支持短选项和长选项,参数可能是可选的,选项顺序可能是无所谓的,等等。bash下的getopt命令可以解析命令行的选项和参数,将散乱、自由的命令行选项和参数进行改造,得到一个完整的、规范化的参数列表,这样再使用while、case和shift进行处理就简单的太多了。getopt有不同的版本,本文介绍的是它的增强版(enhanced),相比传统的getopt(也转载 2021-07-30 15:11:47 · 362 阅读 · 0 评论 -
shell函数
(1).当前shell定义的函数只能在当前shell使用,子shell无法继承父shell的函数定义。除非使用export -f将函数导出为全局函数。(2).定义了函数后,可以使用unset -f移除当前shell中已定义的函数。(3).除非出现语法错误,或者已经存在一个同名只读函数,否则函数的退出状态码是函数最后执行的一个命令的退出状态码。(4).可使用typeset -f [func_name]或declare -f [func_name]查看当前shell已定义的函数名和对应的定义语句。使用ty原创 2021-07-30 15:08:19 · 171 阅读 · 0 评论 -
Shell 中各种括号的作用
一、小括号,圆括号()1、单小括号 ()①命令组。括号中的命令将会新开一个子shell顺序执行,所以括号中的变量不能够被脚本余下的部分使用。括号中多个命令之间用分号隔开,最后一个命令可以没有分号,各命令和括号之间不必有空格。②命令替换。等同于`cmd`,shell扫描一遍命令行,发现了$(cmd)结构,便将$(cmd)中的cmd执行一次,得到其标准输出,再将此输出放到原来命令。有些shell不支持,如tcsh。③用于初始化数组。如:array=(a b c d)...原创 2021-04-12 14:04:40 · 161 阅读 · 0 评论 -
Shell 中各种括号的作用
一、小括号,圆括号()1、单小括号 ()①命令组。括号中的命令将会新开一个子shell顺序执行,所以括号中的变量不能够被脚本余下的部分使用。括号中多个命令之间用分号隔开,最后一个命令可以没有分号,各命令和括号之间不必有空格。②命令替换。等同于`cmd`,shell扫描一遍命令行,发现了$(cmd)结构,便将$(cmd)中的cmd执行一次,得到其标准输出,再将此输出放到原来命令。有些shell不支持,如tcsh。③用于初始化数组。如:array=(a b c d)...原创 2021-04-12 14:04:08 · 332 阅读 · 0 评论 -
Shell 各种符号 之 含义
#!:符号能够被内核识别成是一个脚本的开始,这一行必须位于脚本的首行$0:当前脚本的名字$#:输入<调用>参数(脚本或函数的位置参数)的个数,如NumArg=$#;echo"\$#: $#;\$NumArg: $NumArg"$@:传递给脚本或函数的所有参数,按空格划分成不同的部分。注意:如果一个参数中有空格,这个参数将会被从空格($IFS默认)处分尸"$@":分隔成单个参数,如"$1”“$2”“$3”,$@以IFS(默认为空格)来划分字段,如果空格在“”里面,不划分即不...原创 2021-04-01 09:08:09 · 2334 阅读 · 0 评论 -
Shell 信号发送与捕捉
1、Linux信号类型信号(Signal):信号是在软件层次上对中断机制的一种模拟,通过给一个进程发送信号,执行相应的处理函数。进程可以通过三种方式来响应一个信号:1)忽略信号,即对信号不做任何处理,其中有两个信号不能忽略:SIGKILL及SIGSTOP。2)捕捉信号。3)执行缺省操作,Linux对每种信号都规定了默认操作。Linux究竟采用上述三种方式的哪一个来响应信号呢?取决于传递给响应的API函数。Linux支持的信号有: 编号 信号名称原创 2021-03-11 10:45:10 · 754 阅读 · 0 评论 -
配置文件bashrc与profile的区别
1、当登入系统时候获得-个shell进程时,其读取环境设定档有三步 首先读入的是全局环境变量设定档/ete/profile,然后根据其内容读取额外的设定的文档,如/etc/profile. d和/ etc/ inputre然后根据不同使用者帐号,去其家目录读取, bash, profile,如果这读取不了就读取~人, bash. login,这个也读取不了才会读取~/.profile,...原创 2019-04-18 22:33:19 · 549 阅读 · 0 评论 -
bash shell是如何识别特殊符号的
一 、 shell命令解析以及识别通配符 Shell是系统的用户界面,提供了用户与内核进行交互操作的一种接口。它接收用户输入的命令并把它送入内核去执行。实际上Shell是一个命令解释器,它解释由用户输入的命令并且把它们送到内核。不仅如此,Shell有自己的编程语言用于对命令的编辑,它允许用户编写由shell命令组成的程序。Shell编程语言具有普通编程语言的很多特点,比如它也有...原创 2019-04-18 00:01:21 · 1148 阅读 · 0 评论