首页 > 系统相关 >shell 循环while语句

shell 循环while语句

时间:2023-11-16 12:32:12浏览次数:29  
标签:语句 shell script echo while user pass localhost

while 条件   #while关键字,条件和if的条件一样,#while循环当条件为真的时候循环同时会一直循环,也就所说的死循环,为假时不循环

do

 循环体

done

#注意:while循环处理文件里面的行比较擅长,不管有没有空格都是一行。


案例:

# vim c.sh

#!/usr/bin/bash

i=1

while [ $i -lt 50 ]

do

       echo $i

done


注意观察,#请问如何能够自动终止

#在shell中,let命令用于指定算术运算,即 let expr


完善系统工具的输出及操作性

#通过一个文件批量创建用户:

#背景:写一个脚本,满足以下需求及应用,如一个文件的内容如下,根据文件内容实现批量创建用户,第一列为用户名,第二列为密码

[root@localhost script]# vim user_pass.txt #创建用户和密码文件

user1 qfedu123

user2 qfedu456

user3 qfedu567

user4 qfedu789

user5 qfedu012

[root@localhost script]# vim create_user.sh #编写脚本

#!/usr/bin/bash


[ $UID -ne 0 ] && exit 1

while read line

do

       user=`echo $line | awk '{print $1}'`

       pass=`echo $line | awk '{print $2}'`

       id $user &> /dev/null || useradd $user && echo $pass | passwd $user --stdin

done < /opt/test/script/user_pass.txt

[root@localhost script]# chmod +x create_user.sh  

[root@localhost script]# bash create_user.sh


标签:语句,shell,script,echo,while,user,pass,localhost
From: https://blog.51cto.com/u_16317072/8416900

相关文章

  • 避免defer陷阱:拆解延迟语句,掌握正确使用方法
    基本概念Go语言的延迟语句defer有哪些特点?通常在什么情况下使用?Go语言的延迟语句(deferstatement)具有以下特点:延迟执行:延迟语句会在包含它的函数执行结束前执行,无论函数是正常返回还是发生异常。后进先出:如果有多个延迟语句,它们会按照后进先出(LIFO)的顺序执行。也就是说,......
  • 在 let 的块作用域中无法重复声明,也无法在声明语句之前使用(没有变量提升)。简而言之,在
    以下代码执行时不会在控制台输出错误信息的是:Aleta=decodeURIComponent('%');Bvara;a();functiona(){console.log(a);}CPromise.reject(123).finally(a=>{console.log(a);});Dvara=1;leta=2;console.log(a);正确答案:B●首先,js有变量提升和函数......
  • powershell中npm命令用不了
    powershell中使用npm命令弹出提示使用什么应用打开npm,在vscode中使用npm命令不生效。首先考虑了一下环境变量,看了一下设置的没有问题,在cmd命令行中npm都是可以正常运行的。然后打开powershell试了一下其他全局命令如pnpm等都可以用。这就很奇怪了,考虑到可能是npm这个命令被其他的......
  • shell 同时获取两个入参数
    其实在shell里,无法同时获取两个参数入参,需一点其他的whileread-rlinedoecho$linestr1=`echo$line|awk'{print$1}'`echo$str1str2=`echo$line|awk'{print$2}'`echo$str2kubectldeletepod-n$str1$str2--force--grace-period=0done</tmp/Termi......
  • Java流程控制06:While循环详解
     一、while循环publicclassWhileDemo01{publicstaticvoidmain(String[]args){//输出1~100,并且求和inti=1;intsum=0;while(i!=101){System.out.println(i);sum=sum+i;i++......
  • 软件测试|使用Python提取出语句中的人名
    简介在自然语言处理(NLP)中,提取文本中的人名是一项常见的任务。Python作为一种流行的编程语言,拥有强大的NLP库和工具,使我们能够轻松地进行这项任务。在本文中,我们将使用Python示例来演示如何提取文本中的人名。环境准备我们将使用以下Python库来执行人名提取任务:spaCy:一个流行的NLP库......
  • Django查看orm内部封装的sql语句的2种形式
    第一种:QuerySet.queryuser_queryset=models.User.objects.values_list('name','age')print(user_queryset.query)结果:SELECT`app01_user`.`name`,`app01_user`.`age`FROM`app01_user` 第二种:执行脚本时打印日志显示到终端将以下代码复制进入settings文件中......
  • MySQL Shell连接数据库报MySQL Error 1045 (28000)错误浅析
    这里简单总结一下mysqlshell访问数据库时报MySQLError1045(28000):Accessdeniedforuser'root'@'::1'(usingpassword:YES)的原因以及如何解决这个问题这里测试的环境为MySQL8.0.35,我们先来看看报错案例:$ mysqlsh -h localhost -P 7306 -u root -pPlease pr......
  • 定期删除日志shell脚本
    #!/bin/sh#dest:切割日志,只保留30天,每日00:10运行日志目录格式/var/log/YYYY-MM-DD#请赋予脚本执行权限!#crontab-e创建任务写入100***/当前脚本绝对路径#crontab-l查看任务#find递归找,所以删除后会报错找不到,其实已经删除输出重定向即可find/var/log-typ......
  • shell脚本之“sort“、“uniq“、“tr“、“cut“、“split“、“paste“以及“eval“
    一、sort命令1.1、作用以行为单位对文件内容进行排序也可以根据不同的数据类型来排序1.2、语法格式sort[选项]参数catfile|sort选项1.3、常用选项-f∶忽略大小写,会将小写字母都转换为大写字母来进行比较;-b∶忽略每行前面的空格;-n∶按照数字进行排序;-r∶反向......