泷羽sec-shell编程(9)

embedded/2024/12/23 8:52:43/

shell(9)

声明!

学习视频来自B站up主 泷羽sec 有兴趣的师傅可以关注一下,如涉及侵权马上删除文章,笔记只是方便各位师傅的学习和探讨,文章所提到的网站以及内容,只做学习交流,其他均与本人以及泷羽sec团队无关,切勿触碰法律底线,否则后果自负!!!!有兴趣的小伙伴可以点击下面连接进入b站主页B站泷羽sec


文章目录

  • shell(9)
  • 不同脚本的互相调用
    • 方法一:
    • 方法二:
    • 示例:
  • 重定向操作
    • 重定向的基本概念
    • 输出重定向
    • 输入重定向
    • 输出重定向和输出重定向区别
    • 文件描述符


不同脚本的互相调用

方法一:


vim 1.sh    写入echo "hello world"
再创建一个2.sh脚本文件,写入. 1.sh
bash执行2.sh
你会发现输出了1.sh的内容

方法二:

创建的2.sh脚本文件,写入的是. 1.sh
我们可以把. 1.sh修改为source 1.sh

示例:

vim 3.sh写入
name="cyl"
age=99vim 2.sh写入
source 3.sh
echo "My name is $name and i am $age"
然后bash 2.sh执行脚本

在这里插入图片描述

重定向操作

重定向的基本概念

在 Linux 中,重定向是一种将命令的输入、输出或错误信息发送到不同位置的机制。常见的重定向操作符有:
>:用于将命令的标准输出重定向到一个文件。如果文件不存在,会创建新文件;如果文件存在,会覆盖原有内容。
>>:将标准输出重定向到一个文件,但不会覆盖原有内容,而是追加到文件末尾。
<:用于将文件内容作为命令的输入。
2>:用于将命令的错误输出重定向到一个文件。
&>:将标准输出和错误输出都重定向到一个文件。

输出重定向

​ls > 1.txt​:列出当前目录的内容,并将输出重定向到1.txt​文件中,如果1.txt​已存在,其内容会被覆盖。
​cat 1.txt​:显示1.txt​文件的内容。
​who > 1.txt​:获取当前登录的用户列表,并将输出重定向到1.txt​文件中,同样会覆盖原有内容。
​cat > 1.txt​:这是一个交互式命令,提示用户输入内容,输入结束后(通过Ctrl+D结束),内容会被写入1.txt​,覆盖原有内容。
​ls >> 1.txt​:列出当前目录的内容,并将输出追加到1.txt​文件的末尾,而不是覆盖原有内容。

输出重定向到 /dev/null​

在Linux和类Unix系统中,/dev/null​是一个特殊的设备文件,它被称为“黑洞”,因为任何写入到/dev/null​的数据都会被丢弃,不会显示或保存任何地方。这通常用于丢弃不需要的输出或防止命令输出显示在终端上。
ls > /dev/null

输入重定向

  输入重定向:是指不使用系统提供的标准输入端口,而进行重新的指定。换言之,输入重定向就是不使用标准输入端口输入文件,而是使用指定的文件作为标准输入设备。(重定向简单理解就是使用 “<”符来修改标准输入设备)

输出重定向和输出重定向区别

输出重定向影响命令的输出,输入重定向影响命令的输入
输出重定向用于改变输出的位置,输入重定向用于改变输入的来源
输出重定向是将数据从命令流向文件或其他命令,输入重定向是将数据从文件或其他命令流向命令

文件描述符

标识打开的文件的一个抽象的数字,每个打开的文件都会被分配一个文件描述符,用于后续的文件操作0 :标准输入,这是程序默认的输入来源,通常与键盘关联。在 shell 脚本中,你可以使用 < 操作符来重定向标准输入,将文件或其他命令的输出作为脚本的输入1 :标准输出这是程序默认的输出目的地,通常与屏幕关联。在 shell 脚本中,你可以使用 > 操作符来重定向标准输出,将脚本的输出保存到文件中。2 :错误输出,这是程序用于输出错误信息的文件描述符,通常也与屏幕关联。在 shell 脚本中,你可以使用 2> 操作符来重定向标准错误,将错误信息保存到文件中

http://www.ppmy.cn/embedded/148031.html

相关文章

Mac上Stable Diffusion的环境搭建(还算比较简单)

https://github.com/AUTOMATIC1111/stable-diffusion-webui/wiki/Installation-on-Apple-Silicon AI兴起的速度是真的快&#xff0c;感觉不了解点相关的东西都要与时代脱节了&#xff0c;吓得我赶紧找个AIGC看看能不能实现我艺术家的人梦想&#xff08;绷不住了&#xff09; 我…

【Spring事务】深入浅出Spring事务从原理到源码

什么是事务 保证业务操作完整性的一种数据库机制 &#xff08;driver 驱动&#xff09;事务特定 ACID A 原子性 &#xff08;多次操作 要不一起成功 要不一起失败 &#xff08;部分失败 savepoint&#xff09;&#xff09; C 一致性 &#xff08;事务开始时数据状态&#xff0c…

如何使用 Python 连接 SQLite 数据库?

SQLite是一种轻量级的嵌入式数据库&#xff0c;广泛应用于各种应用程序中。 Python提供了内置的sqlite3模块&#xff0c;使得连接和操作SQLite数据库变得非常简单。 下面我将详细介绍如何使用sqlite3模块来连接SQLite数据库&#xff0c;并提供一些实际开发中的建议和注意事项…

flask-admin+Flask-WTF 实现实现增删改查

背景&#xff1a; flask-adminflask-wtf在网上可以搜索到很多资料&#xff0c;但有价值的很少&#xff0c;或许是太简单&#xff0c;或者是很少人这么用&#xff0c;或者。。。&#xff0c;本文将作者近礼拜摸索到的一点经验分享出来&#xff0c;给自己做个记录。 材料&#…

tryhackme-Pre Security-HTTP in Detail(HTTP的详细内容)

任务一&#xff1a;What is HTTP(S)?&#xff08;什么是http&#xff08;s&#xff09;&#xff09; 1.What is HTTP? (HyperText Transfer Protocol)&#xff08;什么是 HTTP&#xff1f;&#xff08;超文本传输协议&#xff09;&#xff09; http是你查看网站的时候遵循的…

探索 Vue.js 组件开发:从基础到进阶的完整指南

引言 在现代前端开发中&#xff0c;Vue.js 凭借其易用性和强大的功能&#xff0c;成为了开发者钟爱的框架之一。其核心理念——组件化开发&#xff0c;不仅让代码更加模块化、可维护&#xff0c;还大大提高了开发效率。本文将从基础入手&#xff0c;详细探讨 Vue.js 组件开发的…

uniapp blob格式转换为video .mp4文件使用ffmpeg工具

前言 介绍一下这三种对象使用场景 您前端一旦涉及到文件或图片上传Q到服务器&#xff0c;就势必离不了 Blob/File /base64 三种主流的类型它们之间 互转 也成了常态 Blob - FileBlob -Base64Base64 - BlobFile-Base64Base64 _ File uniapp 上传文件 现在已获取到了blob格式的…

CH430N 插上电脑无反应

电路图&#xff0c;此处我用的是3.3V供电&#xff0c;现象就是插上USB,电脑没有反应。搜索也搜索不到 抄板请看自己是多少V供电 后来看到也有类似的 换了芯片后就好了。md新板子第一个芯片就是坏的&#xff0c;服了。