Shell编程完结

声明!

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


版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。

原文链接:https://blog.csdn.net/2401_82420479/article/details/143983937

1.sh - 设置变量
复制代码
#!/bin/bash
​
# 设置变量
name="xiaoyu"
age=23

这个脚本定义了两个环境变量nameage#!/bin/bash是一个叫做shebang的特殊构造,它告诉系统这个脚本需要用bash shell来执行。

2.sh - 调用1.sh并打印信息
复制代码
#!/bin/bash
​
# 导入1.sh中的变量
source 1.sh
​
# 打印信息
echo "My name is $name, and I am $age years old"

这个脚本使用source命令来导入并执行1.sh脚本中的所有命令,包括变量定义。这样,nameage变量就会在2.sh脚本中可用。echo命令用于打印变量的值。

3.sh - 调用2.sh
复制代码
#!/bin/bash
​
# 调用2.sh脚本
./2.sh

这个脚本直接通过相对路径调用当前目录下的2.sh脚本。./表示当前目录。

重定向操作

输出重定向和追加
复制代码
# 输出重定向,追加到1.txt文件内容
ls >> 1.txt
​
# 查看1.txt文件内容
cat 1.txt
​
# 输出重定向,覆盖1.txt文件内容
who > 1.txt
​
# 清空1.txt文件并重定向输入
cat > 1.txt
  • ls >> 1.txt:这个命令将ls命令的输出追加到1.txt文件的末尾。如果1.txt不存在,它会被创建。

  • cat 1.txt:显示1.txt文件的内容。

  • who > 1.txt:这个命令将who命令的输出重定向到1.txt文件中,如果1.txt已存在,其内容会被覆盖。

  • cat > 1.txt:这个命令会清空1.txt文件的内容,并等待用户输入。用户输入的任何内容都会存储在1.txt中。

输入重定向
复制代码
# 输入重定向示例一
ls -l $(cat dirs.txt)
​
# 输入重定向示例二
ls -l $(cat subdirs.txt)
  • ls -l $(cat dirs.txt):这个命令读取dirs.txt文件中的目录名称,并将它们作为ls -l命令的参数。$(cat dirs.txt)是一个命令替换,它执行cat dirs.txt命令,并将输出作为ls -l的参数。

  • ls -l $(cat subdirs.txt):与上面类似,但是用于列出子目录中的内容。

文件描述符和错误输出

错误输出重定向
复制代码
# 将标准输出重定向到3.txt,错误输出重定向到5.txt
ls > 3.txt 2> 5.txt
​
# 查看3.txt文件内容
cat 3.txt
​
# 查看5.txt文件内容
cat 5.txt
  • ls > 3.txt 2> 5.txt:这个命令将ls命令的标准输出重定向到3.txt,将错误输出重定向到5.txt。例如,如果ls命令因为某个文件不存在而产生错误,错误信息会被写入5.txt

  • cat 3.txtcat 5.txt:分别查看3.txt5.txt文件的内容。

这些脚本和命令展示了如何在Shell脚本中使用变量、如何调用其他脚本、如何使用重定向操作符来控制输入和输出,以及如何处理错误输出。希望这些详细的解释能帮助你更好地理解和使用Shell脚本。

相关推荐
li35746 小时前
将已有 Vue 项目通过 Electron 打包为桌面客户端的完整步骤
前端·vue.js·electron
Icoolkj6 小时前
VuePress 与 VitePress 深度对比:特性、差异与选型指南
前端·javascript·vue.js
excel6 小时前
CNN 分层详解:卷积、池化到全连接的作用与原理
前端
excel6 小时前
CNN 多层设计详解:从边缘到高级特征的逐层学习
前端
西陵8 小时前
Nx带来极致的前端开发体验——任务编排
前端·javascript·架构
大前端helloworld8 小时前
从初中级如何迈入中高级-其实技术只是“入门卷”
前端·面试
东风西巷9 小时前
Balabolka:免费高效的文字转语音软件
前端·人工智能·学习·语音识别·软件需求
萌萌哒草头将军9 小时前
10个 ES2025 新特性速览!🚀🚀🚀
前端·javascript·vue.js
半夏陌离10 小时前
SQL 入门指南:排序与分页查询(ORDER BY 多字段排序、LIMIT 分页实战)
java·前端·数据库