笔记的只是方便各位师傅学习知识,以下网站只涉及学习内容,其他的都与本人无关,切莫逾越法律红线,否则后果自负
不同脚本的互相调用
1.互相调用
首先使用 rm*.sh 删掉所有shell脚本,然后vim 2.sh(新建一个sh脚本文件) echo "hello word"在创建一个 3.sh 脚本文件 vim 3.sh 输入 . 2.shbash执行 2.sh 你会发现输出了3.sh的内容
方法二把 source 3.sh 写入到 2.sh 中去 就可以了 ok刚刚的例子就很简单 我们接下来演示变量的调用
脚本1如下:2.sh 设置两个变量
name="xiaohao"
age=23
脚本2:source 3.sh
echo "My name is $name,and i am $age years old"
bash 3.sh
2.重定向
2.1输出重定向
ls > 1.txt cat 1.txt
ls指令运行的结果写入了 1.txt文件中
who > 1.txt cat > 1.txt
从这两个例子得出,可以覆盖原有的内容。我们前面讲过 >> 就可以追加内容 ls >> 1.txt cat 1.txt
我们把 ls 命令重定向到垃圾桶回收站 它会发生什么呢 ls > /dev/null已经执行 但是没有回显
2.2输入重定向
简单的输入重定向示例(一)假设你有一个文本条件dirs.txt ,里面写着几个目录名称,例如: /home/user/Documents /home/user/Pictures /home/user/Music你可以使用Is命令结合输入重定向来查看这些目录下的文件。 在终端输入 Is -l < dirs.txt 。这里的 -l 选项是为了以长格式显示文件信息。
简单的输入重定向示例(二) 假如你有一个文件 subdirs.txt,内容是一个主目录下各个子目录的名字,例如: subdir1 subdir2 subdir3你可以通过以下命令来查看这些子目录中的内容: ls < subdirs.txt这样,ls 命令就会从 subdirs.txt 文件中读取每个子目录的名字,并列出这些子目录中的文件和文件夹(如果有)。
3.文件描述符
0 1 2 0: 标准输入 1: 标准输出 2: 错误输出
例子 Is > 8.txt 2>9.txt如果输出正确 就会输出到 8. txt cat 8. txt
coo > 8.txt 2> 9.txt如果输出错误 就会输出到 9. txt cat 9.txt
原文始发于微信公众号(泷羽Sec- 火乐):红队-shell编程基础(完结)
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论