shell基础、脚本设计与运行(少年没有乌托邦,心向远方自明朗)

目录

一、shell的作用

 1.1 常见shell解释器

1.2 bash基本特性

1.2.1 快捷键、Tab键补全

1.2.2 历史命令(history)

1.2.3 历史别名(alias)

1.2.4 标准输入与输出的重定向

1.2.5 管道(|)

1.3 shell执行命令的方式

二、脚本设计与运行

2.1 什么是shell脚本

2.2 规范脚本的构成

2.3 执行脚本的多种方式

 三、总结


一、shell的作用

Linux 系统中的 Shell 是一个特殊的应用程序,它介于操作系统内核与用户之间,充当 了一个“命令解释器”的角色,负责接收用户输入的操作指令(命令)并进行解释,将需要执 行的操作传递给内核执行,并输出执行结果

 1.1 常见shell解释器

  • /bin/bash:是目前大多数Linux 版本采用的默认shell
  • /bin/sh:已经被bash替换
  • /bin/csh:类似c语言的shell
  • /bin/tcsh:整合了csh提供了更多功能
  • /bin/nologin:这个shell可以让用户无法登录
  1. 解释器负责将用户的指令翻译为内核可以识别的指令
  2. 通过usermod、chsh可以更改登录shell  

 

 

 

1.2 bash基本特性

1.2.1 快捷键、Tab键补全

ctrl+A 光标跳到最前

ctrl+E 光标跳到最后

ctrl+C 撤销命令

ctrl+L 清屏

1.2.2 历史命令(history)

1.2.3 历史别名(alias)

1.2.4 标准输入与输出的重定向

>正确结果的重定向(清空文本)

>>正确结果的重定向(追加到文本后面)

2>错误结果的重定向

2>>正确结果的重定向

&>正确错误都重定向

 

 

 

1.2.5 管道(|)

大家如今在使用这些快捷键、Tab补全、历史命令等等操作时,认为是理所当然的,然而这些功能都是bash特有的,其他shell环境没有这些功能,或者说没有这么全,所以bash取代sh成为了Linux的默认shell

1.3 shell执行命令的方式

1.交互式(命令行)

        人工干预

        追条解释执行、效率低

2.非交互式(脚本)

        需要提前设计

        批量执行、效率高

二、脚本设计与运行

常见脚本语言(使用相应的解释器)

  1. shell脚本
  2. Python/Perl/Ruby脚本
  3. JSP/PHP脚本
  4. 。。。。。。

2.1 什么是shell脚本

提前将可执行的命令语句写入一个文件,顺序执行,解释器逐行解释代码 

第一个shell脚本

1.新建文件

2.添加可执行语句(命令)

3.给文件添加x执行权限 

  

vim first.sh 

echo "Hello World"
#这个不是规范的脚本

2.2 规范脚本的构成

一个合格规范的脚本应该包含一下内容

1.#!脚本声明,使用哪种解释器解释代码

2.注释信息,以#开头为注释信息

3.可执行语句;

#!/bin/bash 
#this is first shell 
echo "Hello World"

2.3 执行脚本的多种方式

1.需要为文件赋予可执行的权限

        绝对路径

        相对路径

2.不需要文件有可执行的权限

        sh/bash  +脚本文件名

        source 或.   +脚本文件名 #不会启动子进程

不建议使用 source,可能会影响一些资源配置

 

 

 

 

 三、总结

#!/bin/bash

shell解释器 bash、sh、tcsh

脚本就是命令的堆叠,将想要的执行的命令放入一起

shell脚本的作用:节省人力、节约开支、自动化运维

执行脚本的方式

1.路径+脚本名 需要权限

        绝对路径

        相对路径

2.调用解释器 不需要权限

        bash 脚本名

        source . 不建议使用

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Steve lu

感谢大佬的支持

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值