当前位置: 首页 > news >正文

泷羽sec-shell编程(9)

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.lryc.cn/news/508004.html

相关文章:

  • 【Vue-4小时速通01-ES6】
  • 基于STM32的智能仓储环境监测的Proteus仿真
  • logback日志控制台打印与写入文件
  • 成方金融科技后端部分笔试题 - 解析
  • WatchAlert - 开源多数据源告警引擎
  • Linux procps-ng 包详解
  • [react] <NavLink>自带激活属性
  • 智能语音识别模块与声音传感器模块对比分析:原理、优缺点、性价比与应用领域
  • 大模型+安全实践之春天何时到来?
  • 贪心算法【Lecode_HOT100】
  • cmd初使用windows-docker时的一些小小问题
  • 使用qemu搭建armv7嵌入式开发环境
  • 火山引擎FORCE:智算能力全面升级
  • ARM 处理器平台 Ethernet Compliance 测试流程示例
  • 基于HAL库的stm32的can收发实验
  • 重构(二)
  • centos7下制作DockerFile 镜像
  • GFPS扩展技术原理(七)-音频切换消息流
  • 压缩qcow2镜像带来的性能损失简单分析
  • Kali操作系统简单介绍
  • LabVIEW物联网开发实战:专栏总述
  • 高效处理PDF文件的终极工具:构建一个多功能PDF转换器
  • Y3编辑器教程6:触发器进阶案例
  • react Ant Design
  • 汽车电子零部件(14):APA(自动泊车辅助)/RPA(远程遥控泊车)/AVP(自动代客泊车)
  • Hot100刷题计划-Day2-滑动窗口、双指针、数组、链表、动态规划
  • [react 3种方法] 获取ant组件ref用ts如何定义?
  • 考前倒计时98天
  • iterm2 focus时灰色蒙层出现的解决办法
  • 合并K个升序链表(最优解)