shell for循环

shell

吃可爱长大的小学妹 提交于 2019-11-28 07:24:53
Shell Shell脚本入门 Shell脚本与Windows/Dos下的批处理相似,也就是用各类命令预先放入到一个文件中,方便一次性执行的一个程序文件, Shell就是一个命令行解释器,Shell本身是一个用C语言编写的程序, Shell既是一种命令语言,又是一种程序设计语言(就是你所说的shell脚本)。shell脚本脚本文件通常以.sh作为后缀名,第一行以#!开头指定执行脚本的程序: #!/usr/bin/bash #是shell脚本中的行注释符。 这里我们来使用最常用的bash 1. 新建文件hello_shell $ vi hello_shell 2. 输入Shello命令 #! /bin/bash echo "Hello Shell!" 3 、保存 echo是一个输出命令,就是输出一句话 4. 赋权限 我们要让系统知道我们刚才新建的文件是可执行的,所以我们要赋给其可执行的权限 现在我们的文件是不可执行的,只有读写权限: 下面是赋权 $ chmod 711 hello_shell 5. 执行 ./ 表示再当前目录查找命令,如果什么都不加的话,系统默认会在PATH里寻找,而的当前目录通常不在PATH里,所以找不到命令。 通常有三种执行脚本的方式: 1、sh start.sh: 在终端中创建一个sh子进程执行脚本, 执行者需要拥有脚本的读权限

Shell:Day09-2.笔记

删除回忆录丶 提交于 2019-11-28 06:15:38
4、模式匹配(地址定界) 1、空值,没有定义,默认就将文件中所有的行,放入awk进行循环 2、对固定的 1,3 行进行操作 sed -n '1,3p' /etc/passwd awk '1,3{print}' /etc/passwd //awk默认不支持使用 1-3 1,3 等等,这样数值的直接写法; awk 'NR>=1&&NR<=3{print}' /etc/passwd //通过NR变量来指定 3、/pat1/ sed -n /pat1/p /etc/passwd awk '/r..ter/{print}' /etc/passwd 4、/pat1/,/pat2/ 第一次匹配pat1到第一次匹配pat2,之间的行 练习:判断/^r..ter/,/^user.*\>/之间的行的用户,是bash的用户,并显示用户的用户名,和UID ======================================== ?shell: for i in `awk '/^r..ter/,/^user.*\>/{print $NF}' /etc/passwd`;do if [[ $i == "/bin/bash" ]];then echo `` fi done while line;do if [[ "/bin/bash" == `awk -F: '{print $NF}' $line` ]]

Linux shell基础

余生颓废 提交于 2019-11-28 03:50:41
shell基础 1,前言 1.1 为什么学习shell编程 Shell脚本语言是实现Linux/UNIX系统管理及自动化运维所必备的重要工具,Linux/UNIX系统的底层及基础应用软件的核心大部分涉及Shell脚本的内容。每一个合格的Linux系统管理员或运维工程师,都需要熟练的编写Shell脚本语言,并能够阅读系统及各类软件附带的Shell脚本内容。只有这样才能提升运维人员的工作效率,适应日益复杂的工作环境,减少不必要的重复工作,从而为个人的职场发展奠定较好的基础。 1.2 学好Shell编程所需的基础知识 能够熟练使用vim编辑器,熟悉SSH终端 有一定的Linux命令基础,至少需要掌握80个以上Linux常用命令,并能够熟练使用它。 要熟练掌握Linux正则表达式及三剑客命令(grep,sed,awk) 1.3 如何学好Shel编程 学好Shel编程的 核心 :多练-->多思考-->再练-->再思考,坚持如此循环即可! 新手大忌 :不可拿来主义,可以模仿,但是要自己嚼烂了吃下去,否则会闹肚子。 格言 :你觉得会了并不一定会了,你认为对的并不一定对的。 大家要勤动手,自行完成学习笔记和代码的书写。通过每一个小目标培养自己的兴趣以及成就感 2,Shell脚本入门 2.1 什么是Shell Shell是一个命令解释器,它在操作系统的最外层,负责直接与用户对话

Shell:Day09.笔记

只愿长相守 提交于 2019-11-28 03:50:41
awk 【单独的编程语言解释器】 1、awk介绍 全称:Aho Weinberger Kernaighan 三个人的首字母缩写; 1970年第一次出现在Unix机器上,后来在开源领域使用它; 所以,我们在Linux中使用,改名为GNU awk;所以,在Linux上实际上叫做gawk; grep 行过滤器 -o -i -v -E grep egrep fgrep【写什么就匹配什么】 sed 行编辑器 -n p 1、地址定界 3,5,/pat/【e】 2、命令 p a \ i \ w c \ s/pat/str/g|1|2..|& ${var/pat/str} ${var//pat/str} ${test}、${#test}、${test:offset:length}、${test#*word}、${test##*word}、${test%word}、${test%%*word}、${test/pattern/string}、${test//pattern/string}、${test:-word} awk 报告生成器 通过模式匹配以及自己本身的语言格式,来获取、并输出客户所需要的内容; 【默认情况下,三个工具都不去编辑源文件】 示例:获取系统上面用户id大于等于1小于等于500的用户的用户名和用户ID for i in $(cut -d: -f3 /etc/passwd);do if

shell脚本之九九乘法表

断了今生、忘了曾经 提交于 2019-11-27 19:05:17
1 #!/bin/bash 2 for i in {1..9};do 3 for((j=1;j<=i;j++))do 4 echo -ne "$i×$j=$(($i*$j))\t" #每一次内循环不换行显示,且每一个算式之间插入tab 5 done 6 echo -e "\n" #每一次内循环完了之后,换行输出 7 done 执行结果如下所示: 来源: https://blog.51cto.com/11342825/2430541

第三季-第27课-Shell脚本高级编程

一曲冷凌霜 提交于 2019-11-27 10:45:04
第27课-Shell脚本高级编程 28.1 什么是脚本 脚本是一个包含一系列 命令序列 的 文本文件 (可以通过编辑器进行编辑,而且可以执行)。当运行这个脚本文件时,文件中包含的命令序列将得到自动执行。例如我们创建7个文件,可以不断的创建7个文件,也可以通过一个脚本文件(.sh文件)来创建。 28.2 脚本编程技术 1. 基本结构 (1)解析器:#!后面的部分,表示该脚本用哪个解析器来操作; (2)命令序列:由众多的命令组成。 2. 变量 shell脚本允许用户设置和使用自己的变量,变量可以使数字或者字符串,用户无需指定其类型,也无需在使用前定义。 赋值号的左右两边不用空格 ,注释用#开头。 #!/bin/sh a=”hello world” b=5 echo “A is: $a” echo “B is %b” 注:在运行该程序之前我们会发现有错,是因为我们使用的是windows下的文件和linux下的文件不同。所以,我们通过dos2unix shell.sh进行转换。我们在转换之前要安装相应的rpm包。 3. 参数 同C程序一样,shell脚本中可以使用命令行参数 $#:传入脚本的命令行参数个数 $*:所有命令行参数值,在各个参数值之间留有空格 $0:命令本身(shell本身) $1:第一个命令行参数 $2:第二个命令行参数 例如: #2.3 echo "number of

shell的编程原理

佐手、 提交于 2019-11-27 05:50:23
一、编程介绍 1、早期编程 (1)驱动 硬件默认是不能用的; (2)不同的厂家硬件设备之间需要进行指令沟通,我们需要驱动程序来进行“翻译”; (3)更趋近于硬件开发的工程师需要学习“汇编语言”,而“汇编语言”被厂家所限制,C、C++的底层就是汇编语言 2、现在编程 基于高级和超高级语言,使程序员能够更好的实现编程功能 3、编程语言的分类 根据服务的重心不同分为: (1)面向过程:侧重于指令 (2)面向对象:侧重于数据 根据程序翻译成二进制指令的方式不同分为: (1)低级语言:汇编语言 (2)高级语言:根据编译方式的不同分为:         (1)解释型:逐行翻译,逐行执行。例:shell、python、JAVA         (2)编译型:一次编译,全部执行。例:C、C++、C#、JAVA 4、顺序执行无逻辑关系   循环执行 -- *for* while until   选择执行 -- 分支 if case* 二、shell脚本语言的介绍 1、优缺点   优点:调用os(操作系统)的命令行,来实现所有功能;   缺点:没有库调用(区分python) 2、Shell脚本包括:(1)*命令*(非常重要)          (2)变量(全局变量、局部变量、本地变量、传参)          (3)逻辑关系 3、Shell的第一句话(必须写) #!/bin/bash –定义脚本解释器

shell脚本8-13

天大地大妈咪最大 提交于 2019-11-27 05:38:55
一、文本处理工具 wc命令 wc(Word count)用于统计文本文件中的字符个数 15是行数 78是字符个数 805是文件大小(字节)【1字节等于8比特】 2、参数:-l(统计行数)、-w(统计单词数)、-c(统计字节数) cut(切片)命令 1 、指定分隔符,切割文件 2、常见参数:-d(指定分割符)、-f(指定提取哪一列)、--output-delimiter=‘’(将输出的分隔符,替换为自己想用的分隔符) 示例:cut -d” ” -f1 /etc/fstab(取第一列) cut -d” ” -f1,3 /etc/fstab(取第1、3列) cut -d” ” -f1-3 /etc/fstab(取第1到3列) cut -d[:] -f1d /etc/fstab(指定分隔符为空格和冒号)([ ]代表括号里的 任意字符都匹配) 3、 cut 无法指定多个分隔符, awk 可以指定多个分隔符 【 cut 的局限性: 1 、 -d 指定分隔符,不能同时指定多个 2 、不能做高级的格式 化输出;所以要掌握 awk 命令】 sort命令 1、sort命令根据 ASCII 码来进行排序,并不是数值大小 2、常用参数:-r(逆序)、 -f (忽略字符的大小写)       -t(指定字段分隔符)、 -n (以数值大小排序)        -u(排序去除重复,重复的不显示)        

学shell的第三天

折月煮酒 提交于 2019-11-27 05:31:01
编程原理: 1.编程介绍   早期编程      驱动 硬件默认是不能使用的;      不同的厂家硬件设备之间需要进行指令沟通,我们需要驱动程序来进行翻译;      更趋近与硬件开发的工程师,要学习“汇编语言”;而“汇编语言”被厂家限制    现在编程     基于高级语言,以及超高级语言,更好的让程序员能够的实现编程功能   编程语言的分类:     高级语言、超高级语言需要翻译成计算机可读的语言(二进制指令)     解释型--逐行翻译,逐行执行 shell     编译型--一次编译,全部执行 c语言 c++ c#     程序 = 指令 + 数据     面向对象--侧重于数据的编程语言     面向过程--侧重于指令   编程语言的执行方式:     1、顺序执行     2、循环执行--for(遍历) while(循环条件) until(和while相反)     3、选择执行--分支if *case* 2、shell脚本语言介绍   优点:调用os(操作系统)的命令行,来实现所有功能;    缺点:没有库调用   shell脚本包括:1、*命令*(非常重要)2、变量(全局变量、局部变量、本地变量、传参)3、逻辑关系   shell的第一句话!!!   #!/bin/bash --定义脚本解释器   /etc/shells --- 查看当前系统支持的shell程序