Shell 编程 until语句

本篇主要写一些shell脚本until语句的使用。


计算1-50的和

#!/bin/bash
i=0
s=0
until [ $i -eq 51 ];do
  let s+=i;let i++
done
echo $s
[[email protected] ~]# vim sum.sh
[[email protected] ~]# chmod +x sum.sh
[[email protected] ~]# ./sum.sh
1275

为指定用户发送在线消息

#!/bin/bash
username=$1
# 判断格式是否正确
if [ $# -lt 1 ] ;then
  echo "Usage:`basename $0` <username> [message]"
  exit 1
fi
# 判断用户是否存在
if grep "^$username:" /etc/passwd > /dev/null ;then :
else
  echo "用户不存在"
  exit 1
fi
# 判断用户是否在线,不在则每5s联系一次
until who|grep "$username" > /dev/null ;do
  echo "用户不在线"
  sleep 5
done
# 发送信息
mes=$*
echo $mes | write $username
[[email protected] ~]# vim message.sh
[[email protected] ~]# chmod +x message.sh
[[email protected] ~]# ./message.sh
Usage:message.sh <username> [message]
[[email protected] ~]# ./message.sh zhangsan hello
用户不存在
[[email protected] ~]# useradd zhangsan && echo "000000" | passwd --stdin zhangsan
Changing password for user zhangsan.
passwd: all authentication tokens updated successfully.
[[email protected] ~]# ./message.sh zhangsan hello
用户不在线
用户不在线
^C
[[email protected] ~]$ 
[[email protected] ~]# ./message.sh zhangsan hello
[[email protected] ~]$
Message from [email protected] on pts/0 at 02:25 ...
zhangsan hello
EOF

原文地址:https://www.cnblogs.com/llife/p/11633413.html

时间: 2024-07-30 12:01:16

Shell 编程 until语句的相关文章

【转载】shell编程——if语句 if -z -n -f -eq -ne -lt

shell编程中条件表达式的使用 if  条件then Commandelse Commandfi                              别忘了这个结尾 If语句忘了结尾fitest.sh: line 14: syntax error: unexpected end of fi if 的三种条件表达式 ifcommandthen if 函数then  命令执行成功,等于返回0 (比如grep ,找到匹配)执行失败,返回非0 (grep,没找到匹配) if [ expressi

Shell 编程 条件语句

本篇主要写一些shell脚本条件语句的使用. 条件测试 test 条件表达式 [ 条件表达式 ] 文件测试 -d:测试是否为目录(Directory). -e:测试文件或目录是否存在(Exist). -f:测试是否为文件(File). -r:测试当前用户是否有权限读取(Read). -w:测试当前用户是否有权限写入(Write). -x:测试是否设置有可执行权限(Excute). -nt:判断文件A是否比文件B新. -ot:判断文件A是否比文件B旧. -ef:判断两个文件是否为同一个文件,用来判

Shell 编程 循环语句

本篇主要写一些shell脚本循环语句的使用. for 循环 指定次数 #!/bin/bash for ((i=1;i<=10;i++)) do echo $i done [[email protected] ~]# vim num.sh [[email protected] ~]# chmod +x num.sh [[email protected] ~]# ./num.sh 1 2 3 4 5 6 7 8 9 10 遍历循环 #!/bin/bash TMP=$(cat username.txt

Shell 编程 case语句

本篇主要写一些shell脚本条件语句的使用. 条件测试 test 条件表达式 [ 条件表达式 ] 文件测试 -d:测试是否为目录(Directory). -e:测试文件或目录是否存在(Exist). -f:测试是否为文件(File). -r:测试当前用户是否有权限读取(Read). -w:测试当前用户是否有权限写入(Write). -x:测试是否设置有可执行权限(Excute). -nt:判断文件A是否比文件B新. -ot:判断文件A是否比文件B旧. -ef:判断两个文件是否为同一个文件,用来判

shell编程——if语句 if -z -n -f -eq -ne -lt

if  条件then Commandelse Commandfi                              别忘了这个结尾 If语句忘了结尾fitest.sh: line 14: syntax error: unexpected end of fi if 的三种条件表达式 ifcommandthen if 函数then  命令执行成功,等于返回0 (比如grep ,找到匹配)执行失败,返回非0 (grep,没找到匹配) if [ expression_r_r_r  ]then 

Shell编程——循环语句

2.case 语句 只判断一种条件关系 语法: case ¢变量名 in "值1") 程序1 ;; "值2") 程序2 ;; *) 程序3 ;; esac 3.for循环 1)语法:(将值赋给变量执行程序,有几个值就执行几次) for 变量名 in 值1 值2 值3.... do 程序 done 2)语法:加法用算 循环控制条件成立时执行下面的程序 (注意:双括号用于加减算法,双括号与 中间值之间应有一个空格) for(( 初始值:循环控制条件:变量变化 )) do

Shell编程——case语句与循环语句(3)

case多分支语句 case语句的结构 针对变量的不同取值,分别执行不同的命令序列 实例1 击键类型识别 提示用户输入一个字符 判断出该字符是字母,数字或者其他字符 #!/bin/bash read -p "请输入一个字符:" key case $key in [a-z] | [A-Z]) echo "你输入的是字母" ;; [0-9]) echo "你输入的是数字" ;; *) echo "你输入的是特殊字符" esac 实

【免费下载】全套最新 3.Shell编程 视频教程+教学资料+学习课件+源代码+软件开发工具

3.Shell编程视频教程 网盘地址: 链接:https://pan.baidu.com/s/1-M4wHTMaE8rxjroTTd-9qQ 提取码:qf52 加公众号 获取更多新教程 教程目录大纲 ./3.Shell编程 ├── 11 云计算-Linux系统管理-shell基础 │?? ├── 100 -云计算-Linux系统管理-shell基础-echo命令.avi │?? ├── 101 -云计算-Linux系统管理-shell基础-脚本执行方法.avi │?? ├── 102 -云计算-

Shell编程(脚本)的常用命令和语句

一些常用的Shell编程(脚本)命令和语句,可以满足一般需求. 接收到的命令参数: 参数个数: $# 参数值: 命令本身:$0 第一个参数:$1 第二个参数:$2 -- 退出命令: exit echo命令: 换行: echo 输出后不换行: echo -n "请选择(y/n)?" 利用转义符号输出双引号: echo "欢迎使用\"正式服务器\"部署工具." 输出中带变量: echo "即将部署项目:$project_name"