问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

求帮写个简单的shell脚本文件,在线等

发布网友 发布时间:2022-05-12 19:48

我来回答

4个回答

热心网友 时间:2023-10-20 05:51

#!/bin/sh
i=0
while true
do
let i+=1
[ $i -eq 10 ] && exit 0
$index=`printf "%03d" $i`
command -i ${index}_input -o ${index}_output
while true
do
grep "abcdefg" ${index}_output >/dev/null 2>&1
[ $? -eq 0 ] && break
sleep 1 # usleep 200000 根据command命令执行快慢选用一个合适的值
done
done追问xxx 是一个命令

就是提交一个命令
command -i 001_input -o 001_output
(001_input是输入,001_output是输出)
当001_output文件中出现字符串“abcdefg”时提交:
command -i 002_input -o 002_output
这样一直提交到009

谢谢

追答看到你的补充回答,刚刚正在更新中,脚本在上面,请看看是否符合你的要求。
第一个while true用于循环执行command命令(数字递增),第二个while true用于循环等待"abcdefg”在output文件中出现。

热心网友 时间:2023-10-20 05:52

好模糊,你还是把具体要实现的功能说一下吧。追问谢谢你的回答
我补充问题了,不知道说清楚没有

追答哦,这样啊,那简单写个思路吧。

用 while do循环和if判断

set x=001 #设置变量x为001 (貌似00x不好计算,不行就换成1-9吧)
while 直到x=009
do
你的命令 "$x"_input -o "$x"_output
if [你的output结果=abcdefg] then;
把变量x用 expr+1
fi
#再做个判断
if [x=009] then;
break;
fi
done

大体这个思路吧,你写写试试。

热心网友 时间:2023-10-20 05:52

Shell脚本基础

一 输入输出和管道符
1过滤“/etc/inittab”文件中以“#”和非空行,并将结果定向到“inittab.txt”文件中
2查找以Bash作为Shell登录,名称以“a”开头,并且只显示登录名和Shell两个字段(1,7)

3查询当前系统的总内存空间,剩余空间以(MB)显示,并输出Total和Used两个字段(2,4)

4统计当前登录到本地终端(tty1~tty6)中的所有用户数量

5 查看“/boot”分区的磁盘使用率,并去除“%”

二 数值变量的运算
Ø “+” 加法运算
Ø “—” 减法运算
Ø “\*” 乘法运算
Ø “/” 除法运算
Ø “%” 取余运算
用法:expr 变量1 运算符 变量2 [ 运算符 变量3 .......]

三 Shell预定义变量
Ø $# 表示命令行中位置参数的数量
Ø $* 表示所有位置参数的内容
Ø $? 表示命令行执行后返回的状态
Ø $$ 表示当前进程的进程号
Ø $! 表示后台运行的最后一个进程的进程号
Ø $0 表示当前执行的进程的进程名

四 Shell自定义变量
1) 双引号(“”) 可以使用“$”调用其它变量值
2) 单引号(‘’) 不允许引用其它变量,“$”符号或其它符号视为普
通字符看待
3) 反撇号(` `) 反撇号内必须为可执行的命令
4) read命令 可以从终端(键盘)读取输入,实现简单的交互过程
read -p 可设置输入提示信息

五 条件测试
用法: test 条件表达式
[ 条件表达式 ]
Ø 测试文件状态
-d 测试是否为目录(directory)
-f 测试是否为文件(file)
-e 测试文件是否存在(exist)
-r 测试文件是否有可读权限(read)
-w 测试文件是否有写入权限(write)
-x 测试文件是否有执行权限(excute)
-L 测试文件是否是链接文件(Link)
Ø 整数比较
-eq 比较第1个数等于第2个数(equal)
-ne 比较第1个数不等于第2个数(not equal)
-gt 比较第1个数大于第2个数(greater than)
-lt 比较第1个数小于第2个数(lesser than)
-le 比较第1个数小于或等于第2个数(lesser or equal)
-ge 比较第1个数大于或等于第2个数(greater or equal)
Ø 字符串比较
= 匹配
!= 不匹配
-z 文件是否为空
Ø 逻辑测试
&& 逻辑与(表示两个表达式都为真,结果为真,可改为【-a】)
|| 逻辑或(表示两个表达式有一个为真,结果为真,可改为【-o】)
! 逻辑否(表示测试条件不成立时,结果为真)

六 Shell语句
Ø if语句结构
1) 单分支的if语句
if [条件测试语句]
then
命令序列
fi
2) 双分支的if语句
if [条件测试语句]
then
命令序列1
elase
命令序列2
fi
3) 多分枝的if语句
if [条件测试语句1]
then
命令序列1
elif [条件测试语句2]
then
命令序列2
else
命令序列3
fi
Ø for循环语句结构
for 变量名 in 取值列表
do
命令序列
done
Ø While循环语句结构
while [条件测试命令]
do
命令序列
done
Ø Case语句结构
case 变量名 in
模式1)
命令序列1
;;
模式2)
命令序列2
;;
......
*)
默认执行的命令序列
esac
Ø until语句结构
until [条件测试命令]
do
命令序列
done

Shell脚本案例

Set 命令可以查看当前系统下的所有变量

1 将“/var/ftp/pub”下的文件子目录以及文件的详细信息列表和当地时间追加到“/var/log/pubdir.log”日志文件中,然后再清除该目录中的内容。

2 统计“/var/lib/mysql”数据库目录的大小,将备份日期,目录大小等信息保存到临时文件“/tmp/dbinfo.txt”文件中,然后使用“tar”命令将dbinfo.txt文件和数据库目录一同备份到“/opt/dbbak”目录中。(备份文件名中要有当日日期)
3 提示用户指定备份路径,若目录一存在则显示提示信息后跳过,若目录不存在则在显示 提示信息后创建该目录。

4 比较由键盘输入的两个数字的大小并显示最终结果。

5 统计当前终端登录人数是否大于3人,若大于3则显示总登录人数;反之显示登录用户名和所在终端。

6 查看“portmap”的进程是否存在,若存在则输出服务正在运行;反之检测“protmap”的可执行启动脚本是否存在,若存在则启动该脚本,否则提示“no portmap script file”.

7 检测MySQL数据库的运行状态,若服务终止,则将该事件(包括时间)追加到到系统日志,并重启MySQL服务;否则不采取任何操作。

8 利用循环语句依次显示三条记录

9 查看由用户输入目录中的所有文件和目录,对于是登录shell为“/bin/bash”且拥有的目录和文件总数大于100个的用户,列出具体的用户名和总数值。

10 统计用户输入目录内所有以“.conf”的后缀名的配置文件所占的空间大小。

11 由键盘输入一个大于1的数值,并计算出1到这个数之间连续的数值之和。

12 批量添加20个用户,并且用户名以“user”开头”,初始化密码为“123456”。

13 使用“while”语句批量删除以“user”开头的用户。

14 使用“until”语句批量删除以“user”开头的用户。

15 由用户输入一个字符,判断该字符属于【a-z】,【A-Z】或者是【0-9】内,并输出信息。

15 计算多个数之和,其数值在执行脚本时由用户作为命令参数时给出。

16

热心网友 时间:2023-10-20 05:53

完全没看懂 #_#!!!
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
请问我的网络一天了找个部门到现在没有解决请问我上哪投诉? 计算机具备哪几种功能? 计算机有哪些功能是什么 歌词中有丑姑娘的歌曲 驾照不年审会怎样 没开过车驾照年审会通过吗 本来白色的背心放入洗衣机清洗后就变成有黑色斑点 其他一起洗的衣物... ...衣服颜色保持鲜艳(主要是白色衣服洗几次感觉就有点颜色不亮丽了... 为什么登陆lol会叫你解绑 小姨子告诉我说,炒菜时记住这4个小技巧,就是比别人做的好吃 能治好强直性脊柱炎吗或控制病情发展【强直性脊柱炎】 nfs启动失败: 1 启动:service portmap start 2 启动nfs: service nfs start 失败; 请教高人指点!! C++处理大量数据,在visual studio中编译运行时闪退,如何解决? c++map头文件问题 科骏达导航升级地图后重新插入卡,提示WAVTMAP.CLD文件不存在,系统不能正常运行是什么问题? Delphi里怎么才能用 TMap 这个类? TMAP8文件怎么打开 如何打开tmap 122.TMAP文件怎么打开? 华为mate7内屏摔了为什么充不了电 关于深圳电大的毕业证 现在的人为什么不喜欢改手机铃声了,都在用默认的? 什么手机铃声好听? 有什么歌曲适合做手机铃声的? 越爱越难铃声iphone5下载方式 谁有吴若希越来越爱铃声版 小米盒子播放非常卡,怎么回事? 有什么歌比较适合做手机铃声? 怎么把越难越爱这首歌做彩铃 越难越爱为什么不能做手机铃声? 小米盒子看电影卡是怎么回事?? 帮忙写个grep脚本来从下文件提取内容! 梦幻西游大唐神器轩辕剑能增加人物属性 梦幻西游神器技能轩辕剑怎么升级 梦幻西游神器任务轩辕剑之陨怎么做(梦幻西游神器任务 梦幻西游轩辕剑怎么获得 梦幻西游手游神器任务命陨轩辕剑怎么做攻略 《梦幻西游2》新神器任务轩辕剑boss怎么杀 上古神器 的轩辕剑 有什么用? QQ被盗,又被设置密保,怎么盗回来 上古神器2轩辕剑怎么获得 守卫剑阁中神器轩辕剑如何增加第2项特殊技能 梦幻西游神器轩辕剑之陨隐藏怎么进 守卫剑阁里的神器如何开锋 如何把邮件发到 css3设置div圆角后,div的背景颜色没有圆角,是直角的! 轩辕剑放完了 神器哪里去了 木有看到轩辕剑去哪了 上古神器2里陈靖仇的轩辕剑怎样用 如何强制进入别人的qq空间。 如何强制不让别人登录上他的qq,只能我登录 怎样才能把别人的QQ好强制封号???