首页 > 系统相关 >Linux 循环,格式以及使用方法

Linux 循环,格式以及使用方法

时间:2022-11-02 17:34:54浏览次数:42  
标签:echo 循环 let Linux test 格式 txt root localhost

for循环:(每读取一行在字符串下面添加#号)

[root@localhost ]# cat /etc/passwd|awk -F ':' '{print $3}'|tail -5 > test1.txt
[root@localhost ]# cat test1.txt
989
72
70
38
1000
[root@localhost ]# cat test.sh 
#!/bin/bash

for xty in `cat test1.txt`;do     ##或者$() 或者直接定义字符
	echo $xty
	echo "##############"
	done

[root@localhost ]# sh test.sh 
989
##############
72
##############
70
##############
38
##############
1000
##############

while循环:

while循环:要有退出条件,否则就成为死循环

用法一:循环文件每一行数据

[root@localhost ]# cat /etc/passwd|tail -5 > test1.txt
[root@localhost ]# ls
test1.txt  test.sh
[root@localhost ]# cat test1.txt 
gnome-initial-setup:x:989:983::/run/gnome-initial-setup/:/sbin/nologin
tcpdump:x:72:72::/:/sbin/nologin
avahi:x:70:70:Avahi mDNS/DNS-SD Stack:/var/run/avahi-daemon:/sbin/nologin
ntp:x:38:38::/etc/ntp:/sbin/nologin
roo:x:1000:1000:root:/home/roo:/bin/bash
[root@localhost ]# cat test.sh 
#!/bin/bash

file=test1.txt
while  read F; do
	echo "$F" | tr [a-z] [A-Z] >> test2.txt  ##每读取一行转换为大写字符追加到test2.txt
done < $file

[root@localhost ]# sh -x test.sh
+ file=/root/test/test1.txt
+ read F
+ echo gnome-initial-setup:x:989:983::/run/gnome-initial-setup/:/sbin/nologin
+ tr '[a-z]' '[A-Z]'
+ read F
+ echo tcpdump:x:72:72::/:/sbin/nologin
+ tr '[a-z]' '[A-Z]'
+ read F
+ echo 'avahi:x:70:70:Avahi mDNS/DNS-SD Stack:/var/run/avahi-daemon:/sbin/nologin'
+ tr '[a-z]' '[A-Z]'
+ read F
+ echo ntp:x:38:38::/etc/ntp:/sbin/nologin
+ tr '[a-z]' '[A-Z]'
+ read F
+ tr '[a-z]' '[A-Z]'
+ echo roo:x:1000:1000:root:/home/roo:/bin/bash
+ read F
[root@localhost ]# cat test2.txt 
GNOME-INITIAL-SETUP:X:989:983::/RUN/GNOME-INITIAL-SETUP/:/SBIN/NOLOGIN
TCPDUMP:X:72:72::/:/SBIN/NOLOGIN
AVAHI:X:70:70:AVAHI MDNS/DNS-SD STACK:/VAR/RUN/AVAHI-DAEMON:/SBIN/NOLOGIN
NTP:X:38:38::/ETC/NTP:/SBIN/NOLOGIN
ROO:X:1000:1000:ROOT:/HOME/ROO:/BIN/BASH
用法二:计算1-5整数的总和
[root@localhost test]# cat test.sh 
#!/bin/bash

declare -i I=1
declare -i sum=0

while [ $I -le 5 ]; do  ##使用while循环计算1到5整数的和
let sum+=$I
let I++
done
echo "$sum"

[root@localhost test]# sh -x test.sh 
+ declare -i I=1
+ declare -i sum=0
+ '[' 1 -le 5 ']'
+ let sum+=1
+ let I++
+ '[' 2 -le 5 ']'
+ let sum+=2
+ let I++
+ '[' 3 -le 5 ']'
+ let sum+=3
+ let I++
+ '[' 4 -le 5 ']'
+ let sum+=4
+ let I++
+ '[' 5 -le 5 ']'
+ let sum+=5
+ let I++
+ '[' 6 -le 5 ']'
+ echo 15
15

 

标签:echo,循环,let,Linux,test,格式,txt,root,localhost
From: https://www.cnblogs.com/xiongty/p/16851770.html

相关文章

  • Linux安全
    一、Linux防火墙firewalld1.1、firewalld概述支持网络区域所定义的网络链接以及接口安全等级的动态防火墙管理工具工作在网络层支持IPv4、IPv6防火墙设置以及以太网桥......
  • linux 如何使用sh自动输入用户名和密码,并执行命令?
    因为工作需要,需要进入到内部设备执行命令 解决:1.复杂情况,需要输入账号密码和命令。#!/bin/bashlogin_sh(){{sleep1echo......
  • 【记录】配置linux python远程开发环境
    1、安装miniconda下载minicondawgethttps://repo.anaconda.com/miniconda/Miniconda3-py38_4.12.0-Linux-x86_64.sh安装minicondabashMin......
  • 给Linux虚拟机扩展磁盘空间(CentOS7为例)_F_hawk189_新浪博客
    方法是创建一个新的逻辑分区,将新的逻辑分区格式化ext3(或其他类型)的文件系统,mount到磁盘空间不够的文件系统,就跟原来的分区/文件系统一样的使用。首先在VMware设置中扩容之......
  • Cpolar在Linux系统中的应用(网页篇1)
    系列文章​​Cpolar在Linux系统中的安装​​​​如何设置cpolar开机自启动(Linux版)​​​​Cpolar在Linux系统中的应用(网页篇1)​​​​Cpolar在Linux系统中的应用(网页篇2)​​......
  • Cpolar在Linux系统中的应用(网页篇3)
    系列文章​​Cpolar在Linux系统中的安装​​​​如何设置cpolar开机自启动(Linux版)​​​​Cpolar在Linux系统中的应用(网页篇1)​​​​Cpolar在Linux系统中的应用(网页篇2)​​......
  • Cpolar在Linux系统中的应用(设置自定义域名)
    系列文章​​Cpolar在Linux系统中的安装​​​​如何设置cpolar开机自启动(Linux版)​​​​Cpolar在Linux系统中的应用(网页篇1)​​​​Cpolar在Linux系统中的应用(网页篇2)​​......
  • 使用cpolar连接不同操作系统(windows与linux)(2)
     系列文章​​不同操作系统间如何进行TCP连接(Linux版)​​​​使用cpolar进行TCP临时连接(Linux版)​​​​使用cpolar进行TCP稳定连接(Linux版)​​​​使用cpolar连接不同操作......
  • linux自启2
    背景:在前面两中自启未生效时,寻找第三种方法,创建linux服务,然后让服务自启,方法如下:在/etc/systemd/system/使用service进行重启1、创建对应的服务名ge:ghp2-spumes-inspe......
  • 未能加载文件或程序集 或它的某一个依赖项。试图加载格式不正确的程序。问题解决
    原因分析:操作系统是64位的,但发布的程序引用了一些32位的ddl,所以出现了兼容性的问题。 解决方案:IIS——应用程序池——高级设置——启用32位应用程序:true。下图这个地方......