linux学习笔记之shell(二)——自动化脚本

本文参考:shell脚本学习指南

本文阅读前提为:知道shell指令,但不知道如何完成一个自动化的shell脚本。

因为编辑本文时,作者也是一个新手。所以,在一些理论上,可能存在错误。如果存在错误,希望指出(可发送email:[email protected])。

此文会定时更新。直到有一个相对完善的版本。

一:如何让系统识别,以及一些前期细节。

  1,系统如何识别:当系统执行一个可执行文件时,发现不是可执行格式。内核会收到一个错误消息:此文件不是可执行文件。此时,会尝试调用调用解释器。

  2,如何确定解释器:需要在文件的第一行添加: #! 符号。如果希望使用shell,则可以添加: #! /usr/sh -f。其他解释器也可以使用此方式,例如:AWK

  3,细节。

    1)#! 此行建议不超过64字符。(一般也不会超过)

    2)#! 跟绝对路径。不同系统间,解释器的位置可能存在差异。

二:一些脚本经验。

  

时间: 2024-08-01 19:23:28

linux学习笔记之shell(二)——自动化脚本的相关文章

linux学习笔记-第十二课-Shell脚本之正则表达式(一)

一.grep,egrep,fgrep 1)grep 格式:grep [选项] [模式] [文件名] 常用选项:-n:显示行号和匹配的行 -v:反向匹配 -c:不显示匹配的行,只显示匹配的行数 -i:忽略大小写 -r:递归搜索 -E:支持扩展正则表达式 -P:支持Perl正则表达式 -F:不支持正则表达式,将模式按字面意义匹配 示例: grep示例 说明 grep '\<Tom>\' file 显示包含单词Tom的行 grep 'Tom Jerry' file 显示包含'Tom Jerry'的行

linux学习笔记之shell

本文参考:shell脚本学习指南 本文阅读前提为:知道shell指令,但不知道如何完成一个自动化的shell脚本. 因为编辑本文时,作者也是一个新手.所以,在一些理论上,可能存在错误.如果存在错误,希望指出(可发送email:[email protected]). 此文会定时更新.直到有一个相对完善的版本. 一:如何让系统识别,以及一些前期细节. 1,系统如何识别:当系统执行一个可执行文件时,发现不是可执行格式.内核会收到一个错误消息:此文件不是可执行文件.此时,会尝试调用调用解释器. 2,如何

Linux学习笔记(四)——Linux_shell脚本基础

一.  BashShell脚本初步 之前我们学习了很多Linux命令,但是这些命令都是在命令提示符下执行的,一次只能执行一条命令并产生结果.如创建一个文件或目录等等.但是有些情况下,我们需要执行多个命令来完成一个完整的任务,我们可以在命令行提示符下也可以同时执行多个命令,但需要用分号分割每个单独的命令,如下所示,先定位到当前用户的工作目录下,然后在目录下创建一个logs目录,并且在logs目录中创建一个空的syslog.log日志文件并在日志文件中添加当前的系统日期和时间. 命令: cd  /h

Linux学习笔记(十二)--命令学习(用户创建、删除等)

通过上面的几章学习,我们对linux有了一些了解,现在我们再继续进行下去.... 我们习惯的windows 界面系统中,只要在界面里去下鼠标,填写等这些就可以完成了一个用户创建.删除.添加所属组等,那我们在linux里又是怎么操作的呢??? 下面在学习如何使用命令进行一系列的操作时,我们要先了解一些别的: 在linux系统里除了我们要新建的用户外,还有一些特定的用户,我们称呼它为:伪用户. -----------------------------------------------------

Linux学习笔记5-文件权限与脚本

1.文件权限 在Linux终端中,输入命令ll可以查看当前文件夹下所有文件的详细信息,其中,第一列表示的是文件的权限,如drwxrw-r--. 第一个字符,可以是"d",也可以是"-","d"表示是一个目录,"-"表示是一个文件. 后面的九个字符,分为三组,即rwx,rw-,r--,第一组表示的是user(拥有者)的权限:第二组表示的是group(拥有者所在组内的用户)所拥有的权限:第三组是other(其他用户)所拥有的权限.

Linux学习笔记(17) Shell编程之基础

1. 正则表达式 (1) 正则表达式用来在文件中匹配符合条件的字符串,正则是包含匹配.grep.awk.sed等命令可以支持正则表达式:通配符用来匹配符合条件的文件名,通配符是完全匹配.ls.find.cp这些命令不支持正则表达式,所以只能使用shell自己的通配符来进行匹配了. (2) 基础正则表达式 元字符 作用 * 前一个字符匹配0次或任意多次 . 匹配除了换行符外任意一个字符 ^ 匹配行首,如:^hello会匹配以hello开头的行 $ 匹配行尾,如:hello$会匹配以hello结尾的

linux学习笔记-第二十二课-LNMP环境搭建(一)

一.LNMP环境搭建前的准备 LNMP就是Linux系统下Nginx+MySQL+PHP这种网站服务器架构,所以需要下载mysql,php,与nginx这三套软件. MySQL : 32位 :http://syslab.comsenz.com/downloads/linux/mysql-5.1.40-linux-i686-icc-glibc23.tar.gz 64位 :http://syslab.comsenz.com/downloads/linux/mysql-5.1.40-linux-x86

Linux学习笔记之shell编程基础

编程语言: 机器语言.汇编语言 .高级语言 静态语言:编译性语言 ,特点: 强类型(变量在使用前,必须先声明,甚至还需要初始化):事先转换成可执行文件.包含语言如: C .C++.JAVA.C# 动态语言:解释性语言 ,特点: 弱类型(变量用时声明,甚至不区分类型):边解释边执行.包含语言如: ASP.ASP.NET .PHP .SHELL .Python .PERL 编程能力: 面向过程 :Shell.C 面向对象:Python .Perl .JAVA .C++ Bash :变量 类型 环境变

Linux学习笔记 -- 为 Shell 传递参数

我们可以在执行 Shell 脚本时,可以向脚本传递参数.脚本内获取参数的格式为:$n.(n 代表一个数字,0为所执行的shell脚本名称,1 为执行脚本的第一个参数,2 为执行脚本的第二个参数,以此类推……) 举例说明 我们先编写一个脚本,名字为test.sh,她的内容如下: #!/bin/bash echo "Shell 输出脚本名称及参数"; echo "执行的脚本名:$0"; echo "第一个参数为:$1"; echo "第二个