shell for循环

linux探路-shell scripts

梦想与她 提交于 2019-11-27 03:38:33
一直相对shell脚本进行系统性学习,由于时间的原因,每次都是看一点,过一段时间又忘了,这次狠下心做一次shell script的学习和分享,和大家一起掌握好shell,下面先大体描述下技术层面的shell,后面主要就是练习。 首先什么是shell script呢? 它是利用shell的功能所写出来的一个程序,这个程序是使用纯文本文件,将一些shell提供的命令写在里面,再搭配正则表达式、管线、数据流导向等功能,以达到我们想要处理的目的。 那script的执行方式有哪些,它们之间又有什么区别?一共三种分别是./script、sh script以及source script。 在执行./script、sh script时,该脚本都会使用一个子程序(新的bash)环境来执行脚本内的命令, 当子程序完成后,在子程序内的各种变量或动作将会结束而不会传回父程序中 ,即你在子程序中声明的变量,在父程序中是使用不了的。 而在执行source script时,脚 本是在父进程中执行的,所有脚本执行完,其中的变量还是能继续使用。 下面主要就是实战: 一、善用判断: 1、test: 2、利用判断符号[]: [ "${name}" == "name" -o "${name}" == "Name" ] 数字的比较: -eq 相等(equal) -ne 不等(not equal) -gt 大于

Linux Shell编程

六眼飞鱼酱① 提交于 2019-11-27 00:16:33
在linux系统中,我们一般都是用C语言写服务端程序,但是一般我们不直接启动这个程序,而是通过一个shell脚本启动和关闭(需要设置一些环境变量和防止打开多个改程序,打开多个后需要找到pid才能关闭) 那么shell是什么呢? 说白了shell是操作系统提供给我们的一种语言,用来将用户的命令输送到内核中执行 shell编程 1首先我新建一个test2.sh,存放下面的一段shell代码 2保存后,修改这个shell为可执行文件 chmod +x test2.sh #! /bin/sh #定义变量 name=张三 echo $name echo "参数:$*" echo "参数个数$#" 输出结果: 下面分别介绍字段的含义 第一行 : 一般默认第一行都是上面这段#! /bin/sh, 通知系统用/bin/sh来执行下面的程序。 以“#”开头的行代表注释 echo代表输出后面一段话的到用户界面 $name代表使用了name这个变量(定义shell变量在下面介绍) $* 代表所有的参数(我们在shell命令后面加了hello 和world两个参数) $#代表参数的个数 有了初步的认识,我们就开始踏入shell编程吧! 1shell变量 定义shell变量:(注意等号左边右边不可以有空格) shellname=value 使用shell变量 $ shellname 2$数字 代表第几个参数

Linux入门视频笔记二(Shell)

浪尽此生 提交于 2019-11-26 23:54:15
一、Shell脚本编程基础 1、简单地理解是脚本就是一堆的 Linux命令或其他命令 ,把他们写到一起,打包成一个文件就是脚本,Shell脚本一般以.sh后缀结尾 2、 sh text.sh :运行text.sh脚本 3、 Linux支持变量 ,和c语言一样(但似乎不用声明类型),比如在脚本里写a = 10(这里为了看起来清除一点=两边加了空格,但实际上在shell脚本语言中这是错误的哦)。 4、 echo :输出语句 ① echo $a :输出变量a(赋值一个变量时不需要写$,使用或读取一个变量需要写) ② echo "Hello World" :输出字符串(可以和上面的拼接在一起哦echo "Hello World" $a,并且在Linux里对于一个字符串拉说写不写双引号问题不大,echo Hello World这样也可以得到正常的输出) 5、 expr :用来计算一个式子(+ - \* / )赋值的地方不能写空格,运算符两边必须写空格。 ① c=`expr $a + $b` :计算a+b(记得要把这个式子括起来哦,如果+两边没有空格的话会显示a+b而不是他们的和) ② c=`expr $a \* $b` :计算a*b(因为在正则表达式中“*”被认为可以重复很多次,所以在Shell里面也会这么认为,所以前面要加转义符号“\”才能得到表示乘)

Shell脚本编程与文件系统修复

做~自己de王妃 提交于 2019-11-26 22:48:39
Linux 基金会认证程序。 Video Player 本讲集中讲解简单的 Shell 脚本编程和文件系统修复。这两块内容都是 LFCS 认证中的必备考点。 理解终端 (Terminals)和 Shell 首先要声明一些概念。 Shell 是一个程序,它将命令传递给操作系统来执行。 Terminal 也是一个程序,允许最终用户使用它与 Shell 来交互。比如,下边的图片是 GNOME Terminal。 Gnome Terminal 启动 Shell 之后,会呈现一个命令提示符 (也称为命令行) 提示我们 Shell 已经做好了准备,接受标准输入设备输入的命令,这个标准输入设备通常是键盘。你可以参考该系列文章的 “如何在Linux上使用GNU sed等命令来创建、编辑和操作文件”来温习一些常用的命令。 Linux 为提供了许多可以选用的 Shell,下面列出一些常用的: bash Shell Bash 代表 Bourne Again Shell,它是 GNU 项目默认的 Shell。它借鉴了 Korn shell(ksh) 和 C shell (csh) 中有用的特性,并同时对性能进行了提升。它同时也是 LFCS 认证中所涵盖的各发行版中默认 Shell,也是本系列教程将使用的 Shell。 sh Shell Bourne SHell 是一个比较古老的 shell

shell编程

∥☆過路亽.° 提交于 2019-11-26 22:44:52
一、简介 1、概念   shell就是一个计算机应用程序,跟QQ、微信等类似,但是他主要是提供计算机的操作界面,例如我们所使用Windows操作系统的图形操作界面和cmd.exe命令行操作界面。 shell并不是操作系统内核,可以看成是内核外边的壳,可以实现人机友好交互。    shell同时也可以看成是一种命令语言,本身是用C语言编写的,用shell命令可以编写程序,即我们所说的脚本程序(shell script),所以shell与shell script并不是同一个概念,但通常说shell脚本时就直接说成shell了。在本节所说的shell编程其实就是用shell命令语言编写的shell script。 2、分类   主要分为图形界面shell和命令行式shell两类   图形界面:Graphical User Interface shell 即 GUI shell,应用最常见,例如个人windows系统大部分都是GUI shell   命令行式:Command Line Interface shell ,即CLI shell,个人应用较少,主要是在服务器领域,例如服务器领域的linux操作系统大部分都是CLI shell 3、发展历史 二、编程风格 1、编程范式   面向对象:以数据为中心,考虑先如何组织数据,指令服务于数据。   面向过程:以指令为中心,来进行写程序

Shell编程

拜拜、爱过 提交于 2019-11-26 22:44:33
   1、shell结构     一个简单的例子: [root@localhost shell]# vi example #!/bin/sh #This is show what a example looks like. echo "my first shell example." echo # this inserts an empty line in output. echo "We are current in the following directory." /bin/pwd echo ~ ~ ~     1)#!  指定执行脚本的shell     2)#  注释行     3)命令和控制结构    2、创建shell的步骤     1)创建一个包含命令和控制结构的文件     2)修改这个文件的权限使它可以执行,使用 chmod u+x     3)执行 ./文件名 或者 sh 文件名 [root@localhost shell]# ./example my first shell example. We are current in the following directory. /shell [root@localhost shell]#       3、shell变量     1)变量:是shell传递数据的一种方法,用来代表每个取值的符号名      2

Shell编程-awk

给你一囗甜甜゛ 提交于 2019-11-26 22:43:46
简介 awk 是一种对立的编程语言,集成于所有UNIX/Linux中,这个名字是它创建者的名字首字母组成的 Alfred Aho,Peter Weinberger, and Brian Kernighan。 awk的基本语法 普通模式 awk '/pattern/{action}' files 其中patter是一个正则表达式,action又是一系列命令,对于满足匹配的文本执行一些动作,files表示待操作的文件,如果不指定,则输入是STDIN。如果不指定pattern,则对所有文件的每一行都执行action。 表达式模式 当在awk中使用比较操作符时,使用下面的语法模式,详见后面。 awk '(expression){action}' files 有如下一个示例文件 zdd.txt包含如下内容 Fruit Price/lbs Banana 0.89 Paech 0.79 Kiwi 1.50 Pineapple 1.29 Apple 0.99 显示一个文件的所有行 awk '{ print ; }' zdd.txt 分号表示命令结束,这个例子没有pattern,只有action 域编辑 awk自动将读入的行分割成域(field),域是由一个或多个分隔符分割开的字符集,缺省的分隔符是tab和空格,访问域可以用$1,$2, ... $n的形式,域都是从1开始的,而$0表示整个行

SHELL脚本编程基础

扶醉桌前 提交于 2019-11-26 21:27:56
编程基础 Linus:Talk is cheap, show me the code 程序 程序:算法+数据结构 数据:是程序的核心 数据结构:数据在计算机中的类型和组织方式 算法:处理数据的方式 程序编程风格: 过程式:以指令为中心,数据服务于指令 对象式:以数据为中心,指令服务于数据 shell程序:提供了编程能力,解释执行 程序的执行方式 计算机:运行二进制指令 编程语言:人与计算机之间交互的语言 低级编程语言: 机器:二进制的0和1的序列,称为机器指令。与自然语言差异太大,难懂、难写 汇编:用一些助记符号替代机器指令,称为汇编语言 如:ADD A,B 将寄存器A的数与寄存器B的数相加得到的数放到寄存器A中 汇编语言写好的程序需要汇编程序转换成机器指令 汇编语言稍微好理解,即机器指令对应的助记符,助记符更接近自然语言 高级编程语言: 编译:高级语言-->编译器-->机器代码-->执行 C,C++ 解释:高级语言-->执行-->解释器-->机器代码 shell,python,php,JavaScript,perl 编程基本概念 编程逻辑处理方式: 顺序执行 循环执行 选择执行 shell编程:过程式、解释执行 编程语言的基本结构: 各种系统命令的组合 数据存储:变量、数组 表达式:a + b 语句:if shell脚本基础 shell脚本: 包含一些命令或声明

shell脚本编程基础

泪湿孤枕 提交于 2019-11-26 21:27:38
编程基础 程序:指令+数据 程序编程风格: 过程式:以指令为中心,数据服务于指令 对象式:以数据为中心,指令服务于数据 shell程序:提供了编程能力,解释执行 编程基本概念 编程逻辑处理方式: 顺序执行 循环执行 选择执行 shell编程:过程式、解释执行 编程语言的基本结构: 各种系统命令的组合 数据存储:变量、数组 表达式: a + b 语句:if shell脚本基础 shell脚本: 包含一些命令或声明,并符合一定格式的文本文件 格式要求: 首行shebang机制 #!/bin/bash #!/usr/bin/python #!/usr/bin/perl shell脚本的用途有: 1.自动化常用命令 2.执行系统管理和故障排除 3.创建简单的应用程序 4.处理文本或文件 创建shell脚本 第一步:使用文本编辑器来创建文本文件 第一行必须包括shell声明序列:#! #!/bin/bash 添加注释 注释以#开头 第二步:运行脚本 给予执行权限,在命令行上指定脚本的绝对或相对路径 直接运行解释器,将脚本作为解释器程序的参数运行 脚本调试 检测脚本中的语法错误 bash -n 调试执行 bash -x 变量作用 1、数据存储格式 2、参与的运算 3、表示的数据范围 变量命名法则 1、不能使程序中的保留字:例如if, for 2、只能使用数字、字母及下划线,且不能以数字开头 3

shell脚本编程基础

[亡魂溺海] 提交于 2019-11-26 21:27:23
shell编程基础(转自UBUNTU论坛) (2008-11-05 12:49:20) 转载 标签: shell 分类: 编程(C++) http://wiki.ubuntu.org.cn/Shell%E7%BC%96%E7%A8%8B%E5%9F%BA%E7%A1%80 为什么要进行shell编程   Linux系统中虽然有各种各样的图形界面工具,但shell仍然是一个非常灵活的工具。Shell不仅集合了大量命令,还是一门非常棒的编程语言。借助shell,大量任务能实现自动化;shell特别擅长系统管理任务,尤其适合那些易用性、可维护性和便携性比效率更重要的任务。   下面,让我们一起来看看shell是如何工作的: 建立一个脚本   Linux中有许多种不同的shell,通常我们使用bash (bourne again shell) 进行shell编程,因为bash不仅免费(自由)且易于使用。本文提供的脚本都用bash(当然大多数情况下,这些脚本同样可以在bash的前辈,bourne shell中运行)执行。   如同其他语言一样,我们可以使用任意一种文字编辑器,比如nedit、kedit、emacs、vi等来编写shell脚本,它必须以如下行开始(必须放在文件的第一行): 代码: #!/bin/sh   符号#!用来告诉系统执行该脚本的程序,本例使用/bin/sh。编辑完了