目录
①顺序执行:程序按从上到下顺序执行
②选择执行:程序执行过程中,根据条件的不同,进行选择不同分支继续执行
③循环执行:程序执行过程中需要重复执行多次某段语句
shell介于操作系统内核与用户之间,充当命令解释器的角色,负责接收用户输入的操作指令,并进行解释,将需要执行的操作传递给内核执行,并输出执行结果。常见的shell解释器程序,使用不同的shell时,其内部指令,命令行提示符等方面会存在一些区别等方面。
①bash:基于gun架构下发展的shell
②csh:类似c语言的shell
③tcsh:整合了csh提供了更多的功能
④sh:已经被bash替换
⑤nologin:让用户无法登录
①将简单的命令组合完成复杂的工作,自动化执行命令,提高工作效率
②减少手工命令的重复输入,一定程度上避免人为错误
③将软件或应用的安装及配置实现标准化
④用于实现日常性的,重复性的运维工作
①解释器:(用什么语言写的)
②注释:解释语句含义
③执行语句
①使用路径执行? (需要权限)
chmod +x /root/1.sh #给脚本添加可执行权限
指定绝对路径: /root/1.sh
指定相对路径: ./1.sh
②直接使用解释(不需要权限)
③用source和.执行(不需要权限)
前两种方式执行脚本,会开启子bash去执行
使用source和.执行,会影响当前的bash环境
①命令错误:命令出错不会影响接下来的命令继续
②语法错误:会影响接下来的命令继续
③逻辑错误:只能自己去筛查代码的正确
①检查语法错误:bash -n脚本名称(不在当前目录下添加绝对路径)
②检查逻辑错误:bash -x脚本名称(不在当前目录下加绝对路径)
重定向就是:不通过标准输出到屏幕上,输出到你指定的位置
类型? ? ? ? ? ? ? ? ? ? ?操作符?? ?用途
重定向输入? ? ? ? ? ?<? ? ? ? ? ? 从指定的文件读取数据,而不是从键盘输入
重定向输出? ? ? ? ? ?>? ? ? ? ? ? 将输出结果保存到指定的文件(覆盖原有内容)
重定向输出? ? ? ? ? ?>>? ? ? ? ?将输出结果换行添加在文件尾部
重定向错误输出?? ?2>? ? ? ? ?将错误信息保存到指定的文件(覆盖原有内容)
重定向错误输出?? ?2>>? ? ? 将错误信息追加到指定的文件中
混合输出? ? ? ? ? ? ? ?&>? ? ? ?将标准输出、标准错误的内容保存到同一个文件中
#将12345678输入到文件log.txt中
[root@Zhuzi ~]#echo "12345678" > log.txt
[root@Zhuzi ~]#cat log.txt
12345678
[root@Zhuzi ~]#
#再将112234写入log.txt中,这个时候会覆盖原来的数据
[root@Zhuzi ~]#echo "112234" > log.txt
[root@Zhuzit ~]#cat log.txt
112234
[root@Zhuzi ~]#
#继续将112234写入log.txt中,使用>>,这个时候会追加原来的数据
[root@Zhuzi ~]#echo "112234" >> log.txt
[root@Zhuzit ~]#cat log.txt
112234
112234