声明
学习视频来自B站UP主 泷羽sec,如涉及侵权马上删除文章 笔记的只是方便各位师傅学习知识,以下网站只涉及学习内容,其他的都
与本人无关,切莫逾越法律红线,否则后果自负
关于shell的那些事儿-shell完结
- 方法一
- 方法二
- 重定向
- 示例1
- 示例2
- 示例3
- 文件描述符
- 例1
- 例2
- 实践是检验真理的唯一标准
shell完结,这些都是shell的基础,实际中shell是非常强大的。 ## 不同脚本文件之间的交互 如何删除所有的脚本文件?
rm * .sh
创建1脚本
方法一
vim 001.sh
echo "cool"
创建2脚本
vim 002.sh
写入:
. 001.sh
运行脚本
bash 002.sh
成功实现脚本的互相调用
方法二
vim 002.sh
指定来源
source 001.sh
bash 002.sh
示例:
创建脚本1-1.sh
vim 1-1.sh
写入
注意点:不能有空格
name="wr"
age=18
创建脚本1-2.sh写入
source 1-1.sh
echo "my name is $name,and i am $age years old"
运行
bash 1-2.sh
重定向
示例1
ls > 1.txt
cat 1.txt
who > 1.txt
who:这是一个 Unix 和 Linux 系统中的命令,用于显示当前登录系统的用户列表。
cat >1.txt
使用>>进行追加内容
ls >> 1.txt
cat 1.txt
把ls命令重定向到垃圾桶回收站
ls >> /dev/null
这个命令用于清楚痕迹
ls >> /dev/null 这个命令的作用是执行 ls 命令,列出当前目录下的文件和文件夹,然后将输出追加到 /dev/null 中。由于 /dev/null 是一个特殊的设备文件,任何写入其中的数据都会被丢弃,因此这个命令实际上不会显示任何输出,也不会保存任何数据。
示例2
创建一个dir.txt
vim dir.txt
写入内容
/home/user/music
/home/user/Pictures
/home/user/Documents
执行命令
ls -l < dirs.txt
ls -l < dirs.txt 会读取 dirs.txt 文件中列出的目录路径,并对每个路径执行 ls -l 命令,显示每个目录下的文件和文件夹的详细信息。
示例3
创建submit.txt
vim submit.txt
写入内容
subdir1
subdir2
subdir3
执行命令
ls < submit.txt
简单来说,就是 submit.txt 文件里写了几个目录的名字,ls 命令会显示这些目录里都有啥文件。
文件描述符
0 1 2
0:标准输入
1:标准输出
2:错误输出
例1
ls > 8.txt 2> 9.txt
cat 8.txt
cat 9.txt
若ls命令输出正确,则将内容重定向写入到8.txt
例2
注意,2是错误输出,不能有空格
l > 3.txt 2> 5.txt
cat 8.txt
cat 9.txt
若1命令输出错误,则错误重定向写入到9.txt中
注意点:l是有这个命令的,
好啦,大家,本次shell到这里就结束啦,都是一些基础,其实shell不止这些,大家下来要学会信息收集多了解啊,我还是那句话。