免责声明
学习视频来自 B 站up主泷羽sec,如涉及侵权马上删除文章。
笔记的只是方便各位师傅学习知识,以下代码、网站只涉及学习内容,其他的都与本人无关,切莫逾越法律红线,否则后果自负。
泷羽sec官网:https://longyusec.com/
泷羽sec B站地址:https://space.bilibili.com/350329294
泷羽sec帮会:https://wiki.freebuf.com/front/societyFront?invitation_code=5a2005d9&society_id=239&source_data=2
shell脚本之间的调用
脚本之间的调用是一个一个文件之间的引用,与函数的调用不同
 文件调用有两种方式,第一种"."调用,第二种“source"调用
第一种”."调用
例如:有1.sh文件代码,现在要在2.sh文件中使用1.sh文件
 代码演示
创造1.sh
echo "hello world"
创造2.sh
. 1.sh   #对1.sh文件调用
 
图片示例
 
第二种“source"调用
source调用:是把.替换成为source
 演示
创造1.sh
name="longyu"
age=18
#定义两个变量
创造2.sh
source 1.sh   #对1.sh文件调用,并调用$name和$age变量
echo " your name is $name ,your age is $age years old "
# bash 运行2.sh
 
图片示例
 
重定向
重定向基础概念
在 Kali Linux(以及其他类 Unix 系统)的命令行环境下,重定向是一种用于改变命令输入输出方向的机制。它允许用户将命令的标准输出(stdout)、标准错误输出(stderr)发送到文件、设备或者作为另一个命令的输入。
 
标准输出重定向(>和>>)
覆盖输出(>)
    语法:command > file。例如,ls -l > file_list.txt。这个命令会执行ls -l(列出详细文件信息)操作,然后将输出结果覆盖写入到file_list.txt文件中。如果file_list.txt不存在,系统会创建它;如果已经存在,原来的内容会被新的输出内容完全替换。
追加输出(>>)
    语法:command >> file。例如,echo "New line" >> log.txt。这个命令会将 “New line” 这一行内容追加到log.txt文件的末尾。如果log.txt不存在,系统会创建它。
 
标准错误输出重定向(2>和2>>)
覆盖错误输出(2>)
    语法:command 2> error_file。例如,在运行一个可能会出错的命令gcc -o program program.c 2> compile_errors.txt时,如果编译过程中出现错误,这些错误信息会被覆盖写入到compile_errors.txt文件中,而不是在屏幕上显示。
追加错误输出(2>>)
    语法:command 2>> error_file。与2>类似,不过是将错误信息追加到error_file文件中。例如,find / -name "nonexistent_file" 2>> search_errors.txt,当find命令找不到指定文件时,错误信息会被逐次追加到search_errors.txt文件中。
 
输入重定向(<)
语法:command < input_file。例如,sort < data.txt。这个命令会将data.txt文件中的内容作为sort命令的输入,然后对这些内容进行排序并将结果输出到屏幕上。这在处理大量数据时非常有用,可以先将数据存储在文件中,然后通过输入重定向将其提供给需要的命令。
 
注意:
 (>)重定向会将原先文件所有内容进行删除,然后进行输入,重定向应确保文件为空
 (>>)日常常用追加重定向,输入追加在文件的后面,不会对原有文件进行删改
输出重定向
代码演示
ls > 1.txt #目录重定向输出到1.txt
who >2.txt  #用户重定向输出到2.txt
who >>1.txt #将用户信息追加到1.txt
 
图片演示
 
输入重定向
代码演示
#回到我们最初的1.txt,只有三个目录
ls -l <1.txt #读取1.txt中文件信息
 
图片演示
 
文件描述符
0 1 2
- 0:标准输入
 - 1:标准输出
 - 2:错误输出
注意:文件描述符参数,需与重定向符号紧密相连,中间不含有空格
例子: 
ls >1.txt 2> 3.txt 
 
代码解释:
 ls > 1.txt :将目录重定向到1.txt文件
 2 >3.txt :创造3.txt文件,如果有错误输出,报错信息会显示在3.txt,否则3.txt文件空白
制造错误,查看错误输出
coo > 1.txt 2>5.txt
 
代码解释
 coo > 1.txt : coo命令不存在,无法重定向到1.txt,会产生报错信息
 2 > 5.txt : 将错误信息重定向到5.txt
 图片演示
 
 实践是检验真理的唯一标准,请大家积极实践
 请大家指出的我问题和需要完善的地方,咱们共同进步
 清风.春不晚与诸君共勉,共创辉煌篇章













![[Redis#0] iredis: linux上redis超好用的环境配置](https://i-blog.csdnimg.cn/direct/46f84d92c4b84d8d8c60c9d8c147d84d.png)




![[Unity Demo]从零开始制作空洞骑士Hollow Knight第二十二集:制作游戏的对话系统](https://i-blog.csdnimg.cn/direct/898fc97f5a984c5e93d5b4aa8dd07fdc.png)