Shell脚本基础-----for循环

格式

for 名称 in 列表

do

循环体

done

例子:

列出/etc/passwd文件中,第1,3,6,12行的用户名,UID,Shell

#!/bin/bash

for line in 1 3 6 12
do
        Username=$(head -$line /etc/passwd | tail -1 | awk -F: ‘{print $1}‘)
        Userid=$(head -$line /etc/passwd | tail -1 | awk -F: ‘{print $3}‘)
        Usershell=$(head -$line /etc/passwd | tail -1 | awk -F: ‘{print $7}‘)
        echo -e "UserName:$Username\tUserID:$Userid\tUserShell:$Usershell"
done

列表生成

1.逐个给出  如 /etc/fstab /etc/inittab

2.通配符匹配  如 /var/*

3.命令生产列表

例:

#!/bin/bash
for File in `ls /var`
do
    file /var/$File
done

4.数字序列{1..100} 会自动展开为1到100

{启始数字..结束数字}

seq 自动生成数字序列:

sed 3:  生成从1到3

sed 3 16  生产从3到16

sed 3 2 16 生成3到16,但会间隔2

3 5 7 9 11 13 15

练习:显示/etc/passwd 所有用户的用户名和Shell

#!/bin/bash
LINES=$(wc -l /etc/passwd | awk -F" " ‘{print $1}‘)

for I in $(seq 1 $LINES)
do
        head -$I /etc/passwd | tail -1 | awk -F: ‘{print $1,$7}‘
done

Shell脚本中算数运算

Shell不支持浮点数:计算结果中,浮点会被园为整数

1.22=1;1.99=1

算数运算实现方式

$[expression]

a=1

b=2

c=$[$a+$b]

echo $c

3

脚本联系

计算0到100的总和

#!/bin/bash

sum=0
for i in $(seq 0 100)
do
        sum=$[$sum+$i]
done
echo $sum

计算所有用户的UID总和

#!/bin/bash

idsum=0
for i in $(awk -F: ‘{print $3}‘ /etc/passwd)
do
        idsum=$[$idsum+$i]
done
echo $idsum
时间: 2024-10-28 09:32:01

Shell脚本基础-----for循环的相关文章

关于shell脚本基础编程第四篇

shell脚本基础编程第四篇本章主要内容:函数 函数 function:             function 名称 { 命令 ; } 或 name () { 命令 ; }           定义 shell 函数.               创建一个以 NAME 为名的 shell 函数.当作为一个简单的命令启用时,           NAME 函数执行调用 shell 的上下文中的 COMMANDs 命令.当 NAME           被启用时,参数作为 $1...$n 被传递

Linux shell脚本基础学习详细介绍(完整版)一

Linux shell脚本基础学习这里我们先来第一讲,介绍shell的语法基础,开头.注释.变量和 环境变量,向大家做一个基础的介绍,虽然不涉及具体东西,但是打好基础是以后学习轻松地前提.1. Linux 脚本编写基础◆1.1 语法基本介绍 1.1.1 开头 程序必须以下面的行开始(必须方在文件的第一行): #!/bin/sh 符号#!用来告诉系统它后面的参数是用来执行该文件的程序.在这个例子中我们使用/bin/sh来执行程序. 当编辑好脚本时,如果要执行该脚本,还必须使其可执行. 要使脚本可执

Linux shell脚本基础学习详细介绍(完整版)二

详细介绍Linux shell脚本基础学习(五) Linux shell脚本基础前面我们在介绍Linux shell脚本的控制流程时,还有一部分内容没讲就是有关here document的内容这里继续. Linux shell脚本基础已经被分成好几个部分了,这里对控制流程的内容也就马上讲完了,这是最后一部分关于here document,这里举例稍微有点复杂,我们慢慢来分析这个复杂Linux shell脚本. 6. Here documents 当要将几行文字传递给一个命令时,here docu

shell脚本基础进阶(四)----作业

20150913-15作业 1.描述shell程序的运行原理(可附带必要的图形说明) shell脚本基础进阶(一)----shell介绍 2.总结shell编程中所涉及到的所有知识点(如:变量.语法.命令状态等等等,要带图的哟) shell脚本基础进阶(二)----变量及运算符 3.总结课程所讲的所有循环语句.条件判断的使用方法及其相关示例:(if (jpg|png is not exist):echo "You say a XX") shell脚本基础进阶(三)----流程控制语句

续写vim,shell脚本基础编辑,read命令,if与case判断语句,文件查找方式,压缩与解压,

一. Vim续写 ?1.命令扩展模式的位置定界 ??起始位置 cmd 终止位置???Cmd:????y复制????d删除????Gu变大写????gu变小写??例如:0y$命令意味着:????0 先到行头????Y 从这里开始拷贝????$ 拷贝到本行行尾最后一个字符????Ye 从当前位置拷贝到本单词的最后一个字符 ?2.扩展命令模式:地址定界 ? ?# 具体第#行,? ?#1,#2 从开头数第#1行到第#2行? ?#1,+#2 从开头数的第#1行到从第#1行开始数的第#2行? ? ?例:2,

shell脚本基础、变量

shell脚本基础 知识要点 掌握Shell脚本的基础知识 学会使用Shell变量 学会编写简单的Shell脚本 Shell脚本的应用环境 学习shell脚本的基本流程 看.想.写 shell脚本用在什么地方 编写常用系统维护工具菜单 重要的性能参数.进程和日志分析 自动实现数据备份计划 自动批量搭建特定系统环境 防火墙自动配置脚本 服务器的配置文件安全比对 对批量设备进行远程巡检 Shell脚本的组成元素 shell脚本的基本组成 声明和注释* 系统命令 文本处理工具(grep.cut.sed

shell脚本基础和grep使用

shell脚本基础和grep使用 一.shell脚本基础 (1).命令hash hash的作用:缓存此前命令的查找结果:key-value数据格式(键值),key:搜索键:value:值 hash的使用: 直接使用hash,列出缓存的所有命令 -d选项,hash -d COMMAND:表示清空指定命令的缓存,如hash -d ls -r选项,表示清空所有命令的缓存,hash -r (2).编程语言 强类型变量编程语言 弱类型变量编程语言:? ? (1)bash把所有变量统统视作字符型;? ? 在

什么是Shell?Shell脚本基础知识详细介绍

这篇文章主要介绍了什么是Shell?Shell脚本基础知识介绍,本文是一篇Shell脚本入门文章,在本文你可学到什么是Shell.有多少种Shell.一个Shell脚本代码实例,需要的朋友可以参考下 Shell本身是一个用C语言编写的程序,它是用户使用Linux的桥梁.Shell既是一种命令语言,又是一种程序设计语言.作为命令语言,它交互式地解释和执行用户输入的命令:作为程序设计语言,它定义了各种变量和参数,并提供了许多在高级语言中才具有的控制结构,包括循环和分支. 它虽然不是Linux系统核心

GPT,LVM概念以及shell脚本基础

GPT,LVM概念以及shell脚本基础 描述GPT是什么,应该怎么使用1.GPT的全称是Globally Unique Identifier Partition Table,意即GUID分区表,GUID 分区表 (GPT) 是作为 Extensible Firmware Interface (EFI) 计划的一部分引入的.相对于以往 PC 普遍使用的主引导记录 (MBR) 分区方案,GPT 提供了更加灵活的磁盘分区机制.分区指物理或逻辑磁盘上彼此连接的存储空间,但提供功能时就像物理上分隔的磁盘