声明!
学习视频来自B站up主 泷羽sec 有兴趣的师傅可以关注一下,如涉及侵权马上删除文章,笔记只是方便各位师傅的学习和探讨,文章所提到的网站以及内容,只做学习交流,其他均与本人以及泷羽sec团队无关,切勿触碰法律底线,否则后果自负!!!!有兴趣的小伙伴可以点击下面连接进入b站主页泷羽sec的个人空间-泷羽sec个人主页-哔哩哔哩视频
不同脚本的互相调用
首先rm *.sh删除所有的sh文件
vim 4.sh
echo "hello world"
vim 5.sh
. 4.sh
bash 5.sh
输出了hello world
或者在5.sh中写入
source 4.sh
演示
vim 4.sh
name="xiaoyu"
age=23
vim 5.sh
source 4.sh
echo "my name is $name and my age is $age"
bash 5.sh
重定向
将ls执行的结果放入6.txt中
ls > 6.txt
显示6.txt文件中的内容
cat 6.txt
who > 6.txt
cat > 6.txt
>是覆盖前面的内容,>>是往后追加内容
ls >> 1.txt
cat 1.txt
把ls命令重定向到垃圾桶
ls > /dev/null
相当于直接丢到了垃圾桶,没写过这句代码一样,没有效果
重定向实例(1)
假设你有一个文本文件dirs.txt,里面写了几个目录名称:
/home/user/Documents
/home/user/Pictures
/home/user/Music
使用ls命令结合输入重定向来查看这些目录下的文件
ls -l < dirs.txt
-l:微辣以长格式显示文件信息
这个命令会从文件中读取目录名称作为ls -l命令的输入,然后分别列出这些目录下文件的详细信息,比如文件权限,所有者,大小,修改时间等内容
实例(2)
假如你有一个文件subdirs.txt,内容是一个主目录下各个子目录的名字:
subdir1
subdir2
subdir3
查看子目录中的内容
ls < subdirs.txt
ls命令就会从文件中读取每个子目录的名字,并列出这些子目录的文件和文件夹
文件描述符
0:标准输入
1:标准输出
2:错误输出
ls > 8.txt 2>9.txt
如果输出正确,就会输出到8.txt
coo > 8.txt 2>9.txt
如果输出错误(因为没有这个命令)就会输出到9.txt