shell学习笔记之一——入门

本文深入探讨了Shell脚本的基本概念、使用方法及优化技巧。从设置Shell、多命令执行、内置命令到变量使用、echo命令、printf命令、重定向与管道、tr命令、构造高效管道以及特殊文件与环境变量PATH的运用。通过实例解析,帮助开发者掌握Shell脚本的核心知识,提升脚本编写效率。

1. Shell脚本最常用于系统管理工作,或是用于结合现有的程序以完成小型的、特定的工作。

2. 现在UNIX系统都会拥有好几个Shell,因此需要告知UNIX内核应该以哪个Shell来执行所指定的Shell脚本。方法是:通过脚本文件中特殊的第一行来设置:

    在第一行的开头处使用 #! 这两个字符。但是开头的这一行的长度限制是从63到1024个字符,所以,尽量不要超过64个字符。

3. 在一行里可以放置多条命令,之间用分号(;)分隔,Shell会依次执行这些命令。

4. Shell识别三种基本命令: 内建命令、Shell函数和外部命令;

    内建命令就是由Shell本身所执行的命令;

    Shell函数是功能健全的一系列程序代码,以Shell语言写成,它们可以像命令那样引用。

    外部命令就是由Shell的副本(新的进程)所执行的命令。

5. Shell变量的命名规则与C++相同,以字母或下划线开头,由任意长度的数字、字母以及下划线组成。

    注意在给变量赋值时,如myname=hello,等号两端是没有任何空格的。

6. echo命令

    原始的echo命令只会将参数打印到标准输出,参数之间以一个空格隔开,并以换行符结尾。

    BSD版本的echo看到第一个参数为 -n 时,会省略结尾的换行符号,如echo -n "Enter your name: "

7. printf命令

    printf命令模仿C程序库里的printf()库程序。它几乎复制了该函数所有的功能。printf命令的完整语法分为两部分:

    printf format - string [arguments ...]

8. 重定向与管道

    以 < 改变标准输入:program < file可将program的标准输入修改为file

    以 > 改变标准输出:program > file可将program的标准输出修改为file

    以 >> 改变标准输出:program >> file可将program的标准输出附加到file的结尾处

    以 |  建立管道:program1 | program2 可将program1的标准输出修改为program12的标准输入

9. tr命令 :tr [options ] source-char-list replace-char-list

    用途:转换字符。例如,将大写字符转换成小写。选项可让你指定所要删除的字符,以及将一串重复出现的字符浓缩成一个。

10. 构造管道时,应试着让每个阶段的数据变得更少。换句话说,如果你有两个要完成的步骤与先后次序无关,可以把会让数据量变少的那一个步骤放在管道的前面。

       这么做可以提升脚本的整体性能,例如,使用sort排序之前,先以grep找出相关的行。

11. 特殊文件:/dev/null 与 /dev/tty (待补充...)

12. 环境变量PATH

      $PATH是一个以冒号分隔的目录列表,可以在列表所指定的目录下找到所要执行的命令。Shell会沿着查找路径$PATH来寻找命令。

      如果要编写自己的脚本,最好准备好自己的bin目录来存放它们,并且让Shell能够自动找到它们。这不难,只要建立自己的bin目录,并将它加入到$PATH的列表即可:

    

$ cd                       切换到home目录
$ mkdir bin                建立个人的bin目录
$ mv nusers bin            将我们的脚本置入该目录
$ PATH=$PATH:$HOME/bin     将个人的bin目录附加到PATH
$ nusers                   试试看,Shell找到并执行它

要让修改永久生效,在.profile文件这把你的bin目录加入$PATH,而每次登录时Shell都读取.profile文件

下载方式:https://pan.quark.cn/s/c9b9b647468b ### 初级JSP程序设计教程核心内容解析#### 一、JSP基础概述JSP(JavaServer Pages)是由Sun Microsystems公司创建的一种动态网页技术规范,主要应用于构建动态网站及Web应用。JSP技术使得开发者能够将动态数据与静态HTML文档整合,从而实现网页内容的灵活性和可变性。##### JSP的显著特性:1. **动态与静态内容的分离**:JSP技术支持将动态数据(例如数据库查询结果、实时时间等)嵌入到静态HTML文档中。这种设计方法增强了网页的适应性和可维护性。2. **易用性**:开发者可以利用常规的HTML编辑工具来编写静态部分,并通过简化的标签技术将动态内容集成到页面中。3. **跨平台兼容性**:基于Java平台的JSP具有优良的跨操作系统运行能力,能够在多种不同的系统环境中稳定工作。4. **强大的后台支持**:JSP能够通过JavaBean组件访问后端数据库及其他资源,以实现复杂的数据处理逻辑。5. **执行效率高**:JSP页面在初次被请求时会被转换为Servlet,随后的请求可以直接执行编译后的Servlet代码,从而提升了服务响应的效率。#### 二、JSP指令的运用JSP指令用于设定整个JSP页面的行为规范。这些指令通常放置在页面的顶部,向JSP容器提供处理页面的相关指导信息。##### 主要的指令类型:1. **Page指令**: - **语法结构**:`<%@ page attribute="value" %>` - **功能**:定义整个JSP页面的运行特性,如设定页面编码格式、错误处理机制等。 - **实例**: ...
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值