泷羽sec:shell编程(9)不同脚本的互相调用和重定向操作
声明:
学习视频来自B站up主 泷羽sec 有兴趣的师傅可以关注一下,如涉及侵权马上删除文章,笔记只是方便各位师傅的学习和探讨,文章所提到的网站以及内容,只做学习交流,其他均与本人以及泷羽sec团队无关,切勿触碰法律底线,否则后果自负!!!!有兴趣的小伙伴可以点击下面连接进入b站主页B站泷羽sec
泷羽sec的个人空间-泷羽sec个人主页-哔哩哔哩视频
————————————————
不同脚本的互相调用
方法一:
首先使用rm *.sh 删掉所有shell脚本(注意,不要误删了自己的重要文件)
然后vim 1.sh 写入echo "hello world"
再创建一个2.sh脚本文件,写入. 1.sh
bash执行2.sh
你会发现输出了1.sh的内容

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

总结:
- 命令
rm *.sh用于删除当前目录下所有以.sh为扩展名的文件。这一步是为了确保环境干净,没有其他干扰的 shell 脚本。不过使用这个命令时要特别小心,因为一旦执行,所有符合条件的文件将被立即删除且无法恢复,如果误删了重要文件会造成损失。 - 创建
2.sh脚本文件,并在其中写入. 1.sh。在shell脚本中,.命令(或者source命令)用于在当前shell环境中执行另一个脚本文件。这里就是在2.sh执行时会调用并执行1.sh。 - 当在
2.sh中使用. 1.sh(或source 1.sh)时,它会在当前shell进程中读取和执行1.sh的内容。这与直接执行bash 1.sh有区别。直接执行bash 1.sh会开启一个新的shell子进程来执行1.sh,而source操作是在当前shell进程内执行,这样如果1.sh中定义了变量等操作,这些变量在当前shell环境中会保留下来(如果是bash 1.sh执行,变量在子进程结束后就消失了)
这种脚本间的调用方式在很多场景下都很有用,比如当需要在一个脚本中复用另一个脚本的函数、变量或初始化操作时,可以采用这种方法。
实例:
vim 3.sh写入
name="icetea"
age=21
vim 2.sh写入
source 3.sh
echo "My name is $name and i am $age"
然后bash 2.sh执行脚本

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

例2:
who >1.txt
cat 1.txt

例3:
ls >>1.txt
cat 1.txt

例4:把ls 命令重定向到垃圾桶回收站,执行后,ls没有回显
ls > /dev/null

输入重定向
例1:
/home/kali/图片
/home/kali/音乐
( 这段路径因人而异,需要根据自己的路径来写)
例2:
输出重定向和输出重定向区别
文件描述符
例1:
如果ls命令正确,内容输入到1.txt,如果错误,则把错误信息输出到2.txt
ls > 1.txt 2> 2.txt
查看1.txt
cat 1.txt

coo是不存在的指令,会把错误信息输出到2.txt
coo > 1.txt 2> 2.txt
查看2.txt
cat 2.txt

例2:
相关文章:
泷羽sec:shell编程(9)不同脚本的互相调用和重定向操作
声明: 学习视频来自B站up主 泷羽sec 有兴趣的师傅可以关注一下,如涉及侵权马上删除文章,笔记只是方便各位师傅的学习和探讨,文章所提到的网站以及内容,只做学习交流,其他均与本人以及泷羽sec团队无关&#…...
Milvus×OPPO:如何构建更懂你的大模型助手
01. 背景 AI业务快速增长下传统关系型数据库无法满足需求。 2024年恰逢OPPO品牌20周年,OPPO也宣布正式进入AI手机的时代。超千万用户开始通过例如通话摘要、新小布助手、小布照相馆等搭载在OPPO手机上的应用体验AI能力。 与传统的应用不同的是,在AI驱动的…...
单片机几大时钟源
在单片机中,MSI、HSI和HSE通常指的是用于内部晶振配置的不同功能模块: MSI (Master Oscillator System Interface):这是最低级的一种时钟源管理单元,它控制着最基本的系统时钟(SYSCLK),一般由外…...
reverse学习总结(12)
一.[FlareOn4]IgniteMe1 https://files.buuoj.cn/files/02b39b8efca02367af23aa279c81cbec/attachment.zip 根据汇编语言分析 查看需要返回为1的函数 int sub_401050() {int v1; // [esp0h] [ebp-Ch]int i; // [esp4h] [ebp-8h]unsigned int j; // [esp4h] [ebp-8h]char v4; …...
基于“微店 Park”模式下 2+1 链动模式商城小程序的创新发展与应用研究
摘要:本文以“微店 Park”从“开店工具”向“众创平台”的转型为背景,深入探讨 21 链动模式商城小程序在该平台情境下的应用潜力与创新发展路径。通过剖析“微店 Park”的运营模式,包括灵活承租、低成本入驻、多元流量引流等特点,…...
C++11:【列表初始化】【右值引用和移动语义】
目录 一.列表初始化 1.1 C98传统的{} 1.2C11中的{} 1.3C中的std::initializer_list 二.右值引用和移动语义 2.1左值和右值 2.2左值引用和右值引用 2.3引用延长生命周期 2.4左值和右值的参数匹配 2.5右值引用和移动语义的使用场景 2.5.1左值引用主要使用场景 2.5.2移…...
Zookeeper的通知机制是什么?
大家好,我是锋哥。今天分享关于【Zookeeper的通知机制是什么?】面试题。希望对大家有帮助; Zookeeper的通知机制是什么? 1000道 互联网大厂Java工程师 精选面试题-Java资源分享网 Zookeeper的通知机制主要通过Watcher实现,它是Zookeeper客…...
嵌入式蓝桥杯学习1 电量LED
cubemx配置 1.新建一个STM32G431RBT6文件 2.在System-Core中点击SYS,找到Debug(设置为Serial Wire) 3.在System-Core中点击RCC,找到High Speed Clock(设置为Crystal/Ceramic Resonator) 4.打开Clock Configuration ࿰…...
bsmap输出结果解释
关于, , -, --的解释 对应着参考基因组的正链(有义链,非模板链,即hg38的序列,watson链); -代表正链的互补链(正常情况下正链的互补链是负链,但在重硫酸盐处理后正链和负链并不互补…...
【java-数据结构篇】揭秘 Java LinkedList:链表数据结构的 Java 实现原理与核心概念
我的个人主页 我的专栏:Java-数据结构,希望能帮助到大家!!!点赞❤ 收藏❤ 目录 1. Java LinkedList 基础 1.1 LinkedList 简介 1.2 LinkedList 的实现原理 1.3 LinkedList 与 ArrayList 的区别 2. 链表基础 2.1 链…...
macOS运行amd64的镜像
在macOS上运行amd64(x86_64)架构的镜像,通常通过虚拟化或仿真工具来实现。例如,如果你使用的是基于Apple Silicon(M1或M2等)芯片的Mac,那么你的处理器是ARM架构的,而amd64是x86架构&…...
轻量的基于图结构的RAG方案LightRAG
LightRAG出自2024年10月的论文《LIGHTRAG: SIMPLE AND FASTRETRIEVAL-AUGMENTED GENERATION》(github),也是使用图结构来索引和搜索相关文本。 LightRAG作者认为已有的RAG系统有如下两个限制,导致难以回答类似"How does the rise of electric vehi…...
计算机的错误计算(一百七十三)
摘要 给定多项式 在 MATLAB 中计算 的值。输出是错误结果。 例1. 已知 计算 直接贴图吧: 这样,MATLAB 输出了错误结果。因为准确值为 0.2401e-16 . 注:可参看计算机的错误计算(六)。...
【力扣】—— 二叉树的前序遍历、字典序最小回文串
Hi~!这里是奋斗的明志,很荣幸您能阅读我的文章,诚请评论指点,欢迎欢迎 ~~ 🌱🌱个人主页:奋斗的明志 🌱🌱所属专栏:数据结构 📚本系列文章为个人学…...
linux替换更高版本gcc
实际使用时对与gcc版本有很多要求, 需要在centos上安装更高版本的gcc 1、安装centos-release-scl sudo yum install centos-release-scl2、安装devtoolset,注意,如果想安装7.版本的,就改成devtoolset-7-gcc,以此类推 sudo yum …...
在Java中使用Apache POI导入导出Excel(六)
本文将继续介绍POI的使用,上接在Java中使用Apache POI导入导出Excel(五) 使用Apache POI组件操作Excel(六) 43、隐藏和取消隐藏行 使用 Excel,可以通过选择该行(或行)来隐藏工作表…...
`uni.setClipboardData` 是 uni-app 提供的一个 API 设置系统剪贴板的内容
uni.setClipboardData是uni-app提供的一个API,用于设置系统剪贴板的内容。 使用说明: 使用此API可以将指定的文本内容复制到系统剪贴板,使用户能够在其他应用或页面中粘贴这些内容。 uni.setClipboardData({data: , // 需要复制的内容 suc…...
【大模型微调】pdf转markdown
目前市面上大部分都是pdf文档,要想转换成能训练的文本,调研了各种工具。 觉得MinerU确实不错。 参考此链接进行操作 MinerU/docs/README_Ubuntu_CUDA_Acceleration_en_US.md at master opendatalab/MinerU GitHub 需要注意的几个点: 1. 使用root账户安装的,配置文件在…...
Vue 3 结合 TypeScript基本使用
Vue 3 结合 TypeScript 使用可以提供更加强大的类型检查和开发体验。以下是一些基本的步骤来开始使用 Vue 3 和 TypeScript: 1. 创建项目 你可以使用 Vue CLI 来快速创建一个支持 TypeScript 的 Vue 项目。首先确保你已经安装了 Node.js 和 npm。然后全局安装或更…...
Trotter steps的复杂性分析
总结 • 我们开发了使用汉密尔顿系数结构执行 Trotter 步骤的递归方法,超越了顺序方法。 • #Gate/Step 在汉密尔顿项数上是次线性的,而 #Step 仍然保持交换子缩放。 • 新结果给出了实空间中第二量化电子结构汉密尔顿的最快量子模拟。对第一量化量子模…...
Java SPI机制原理与实战
前言 在现代软件开发中,Java SPI机制原理与实战是一个非常重要的技术点。本文将从原理到实践,带你深入理解这一技术,并通过完整的代码示例帮助你快速掌握核心知识点。 核心概念 基本原理 Java SPI机制原理与实战的核心在于理解其底层机制。以…...
基于FeFET的动态可重构FPGA:实现亚纳秒级上下文切换的硬件加速新架构
1. 项目概述与核心挑战如果你在硬件加速领域摸爬滚打过几年,大概率会对FPGA又爱又恨。爱的是它无与伦比的灵活性,恨的是它在“灵活”和“高效”之间那道难以逾越的鸿沟。传统基于SRAM的FPGA,其可重构性是通过烧写配置位流到SRAM单元来实现的。…...
保姆级教程:在Ubuntu 22.04上从源码编译COLMAP 3.9(含6个常见Bug解决方案)
在Ubuntu 22.04上从源码编译COLMAP 3.9的终极避坑指南三维重建技术正在重塑数字世界的构建方式,而COLMAP作为开源领域的标杆工具,其强大的多视图几何算法让学术研究和工业应用都受益匪浅。但当你第一次尝试在Ubuntu系统上编译这个工具时,可能…...
告别踩坑:手把手教你为openEuler 22.03 LST配置RealVNC 6.11远程桌面(含序列号激活)
深度指南:在openEuler 22.03 LTS上部署RealVNC企业级远程桌面方案对于需要在Linux环境下实现远程图形化管理的用户而言,RealVNC作为一款成熟的商业解决方案,提供了比开源工具更稳定的连接性能和更完善的安全机制。本文将基于openEuler 22.03 …...
AI与PDCA循环融合:构建韧性医院物流系统的实践指南
1. 项目概述:当医院物流遇上AI与PDCA在医院这个庞大而精密的系统里,物流的顺畅与否,直接关系到患者的生命安全和医疗服务的质量。想象一下,一台急诊手术因为某个关键耗材在仓库里“迷路”而推迟,或者一个重症病房因为药…...
CentOS7最小化安装后,这3个必做的配置(换源、设静态IP、更新)一个都不能少
CentOS7最小化安装后的三大关键配置实战指南刚完成CentOS 7最小化安装的系统就像毛坯房——虽然基础框架已经就位,但距离真正"拎包入住"还有一段距离。作为运维人员,我们最迫切的需求是快速搭建一个稳定、高效的基础服务器环境。本文将聚焦三个…...
不止于潮汐:程序员视角下的海洋波动现象与信号处理实战
从信号处理视角解码海洋波动:工程师的实战指南海洋波动现象长期以来被视为海洋学家的专属领域,但当我们戴上信号处理的"眼镜"重新审视这些自然现象时,一个全新的世界就此展开。作为数据科学家和工程师,我们习惯于处理各…...
LeetCode 930:和相同的二元子数组 | 前缀和与哈希表
LeetCode 930:和相同的二元子数组 | 前缀和与哈希表 引言 和相同的二元子数组(Binary Subarrays With Sum)是 LeetCode 第 930 题,难度为 Medium。题目要求在二元数组(元素只有 0 和 1)中找出子数组和等于 …...
3层深度清理技术:Display Driver Uninstaller显卡驱动彻底卸载解决方案
3层深度清理技术:Display Driver Uninstaller显卡驱动彻底卸载解决方案 【免费下载链接】display-drivers-uninstaller Display Driver Uninstaller (DDU) a driver removal utility / cleaner utility 项目地址: https://gitcode.com/gh_mirrors/di/display-driv…...

