- 博客(11)
- 收藏
- 关注
原创 Linuxshell学习笔记(8)
1.每次调用bash/sh解释器执行脚本,都会开启一个子shell,因此不保留当前的shell变量,通过pstree命令可检查进程树;2.调用source是在当前shell环境加载脚本,因此保留变量。set,输出所有变量,包括全局变量、局部变量(sh脚本中定义的变量);env,只显示全局变量;export,显示和设置变量值;declare,输出所有的变量,如同set;使用declare事先设定变量a的属性为“整数”特殊符号不必使用\转义unset 变量名,删除变量或函数。
2024-08-28 15:58:28 689
原创 Linuxshell学习笔记(7)
t 后要接数字(如果不是,相当于 0),判断当前进程是否打开了对应的 fd(进程默认会打开 0、1、2 这三个 fd,分别对应标准输入、标准输出和错误输出,此外每打开一个文件、管道或者网络连接,都会对应一个 fd,关掉后对应 fd 会消失)。0 是标准输入(即用户输入端),1 是标准输出(即正常情况的输出端),2 是错误输出(即异常情况的输出端)。但是 cat 的输出端指向了 一个管道,并且 wc 的 输入端指向了一个相同的管道,这代表两个进程的输入输出端是通过管道连接的。如果文件不存在,也会被创建。
2024-08-27 20:59:49 565
原创 Linuxshell学习笔记(6)
寻找满足特定条件的文件路径,简称文件查找,是 shell 脚本的常见任务,因为条件复杂多样,这样的任务并不轻松。很多人使用 find 命令来做,但 find 只能覆盖一部分功能,其他的要自己进一步处理,而且 find 并不好用,和脚本其他部分配合也比较麻烦,容易出错。用 zsh 的话,基本不需要 find 命令,借助 zsh 自身的功能便足以应付多数场景,而且语法更优雅简洁不易出错。列出 /usr/bin 目录下以 zsh 开头的文件。如果用 ls 的话,就平添了不少额外工作,因为 zsh* 已经匹配一次文
2024-08-27 10:44:34 620
原创 Linuxshell学习笔记(5)
一个很简单的函数func() {echo right# 也可以在前边加一个 function 关键字echo right这样就可以定义一个函数了。小括号一定是空的,即使函数有参数,也无需在里边写参数列表。直接输入函数名即可调用函数。func() {echo right% funcright用 unfunction 可以删除函数。
2024-08-26 22:28:39 905
原创 Linuxshell笔记(4)
记:哈希表需声明,关键词为typeset -A或者local -A,之后的赋值操作和数组一样,奇数位则为key,偶数位为value;一些处理字符串的方法(主要是各种形式的截取、替换、转换等等),也可以用在数组上,效果是对数组中所有元素统一处理。3.加 i 的话大小写不敏感,加 n 的话按数字大小顺序排,Oa 用于反转数组元素的排列顺序,1.正常排序规律:先看第一位,若相同,则比较下一位,依照ASCII码表,数字在前,字母在后。,键和值的关系,就像字典中单词和释义的对应关系,
2024-08-26 16:19:30 607
原创 Linuxshell学习笔记(3)
l用于分行输出字符串# 每个字符串一行,字符串列表是用空格隔开的aabb# 也可以接数组,数组相关的内容之后会讲到# 命令后的多个字符串都可以用数组取代,效果是相同的aabb-n用于不在输出内容的末尾自动添加换行符echoabc# 下面输出 abc 后的 % 高亮显示,代表这一行末尾没有换行符abc%m用于只输出匹配到的aabb aac-o/-O/-i用于对字符串排序# print -o 对字符串升序排列# print -O 对字符串降序排列# 加 -i 参数后,对大小写不敏感。
2024-08-22 00:03:27 702
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人