我使用过的Linux命令之yes - 重复输出字符串
本文链接:http://codingstandards.iteye.com/blog/826940
(转载请注明出处)
用途说明
yes命令用于重复输出字符串(output a string repeatedly until killed)。这个命令可以帮你自动回答命令行提示,例如,进入一个含有多个文件的目录,执行 "yes | rm -i *",所有的 rm: remove regular empty file `xxx'? 提示都会被自动回答 y。这在编写脚本程序的时候会很用处。yes命令还有另外一个用途,可以用来生成大的文本文件。
常用参数
yes命令不指定参数时,不断的输出y;指定字符串参数时,就不断的输出该字符串。要终止输出,必须杀掉该进程,比如按Ctrl+C,或killall yes。(Repeatedly output a line with all specified STRING(s), or ‘y’.)比如:要不断输出n时,输入yes n。
使用示例
示例一 删除文件时自动回答y
[root@web ~]# ls -l *.txt
-rw-r--r-- 1 root root 7 11-28 11:54 1.txt
-rw-r--r-- 1 root root 10217 07-06 13:10 data.txt
[root@web ~]# yes | rm -i *.txt
rm:是否删除 一般文件 "1.txt" | rm -i.txt”? rm:是否删除 一般文件 “data.txt”? [root@web ~]# yes | rm -i *.txt
rm: lstat “*.txt” 失败: 没有那个文件或目录
[root@web ~]# ls -l *.txt
ls: *.txt: 没有那个文件或目录
[root@web ~]#
示例二 生成大的文本文件
下面的脚本把yes命令输出的内容保存到文件中,然后1秒钟之后停止输出。在这台测试机器上,生成了一个93M的文件。
#!/bin/sh
yes hello >hello.txt &
PID=$!
sleep 1
kill $PID
ls -l hello.txt
[root@web ~]# cat yes.sh
#!/bin/sh
yes hello >hello.txt &
PID=$!
sleep 1
kill $PID
ls -l hello.txt
[root@web ~]# ./yes.sh
-rw-r--r-- 1 root root 93003776 11-28 14:02 hello.txt
./yes.sh: line 9: 5771 已终止 yes hello > hello.txt
[root@web ~]# ./yes.sh
-rw-r--r-- 1 root root 95346688 11-28 14:09 hello.txt
./yes.sh: line 9: 7072 已终止 yes hello > hello.txt
[root@web ~]# ./yes.sh
-rw-r--r-- 1 root root 0 11-28 14:09 hello.txt
[root@web ~]# ./yes.sh
-rw-r--r-- 1 root root 0 11-28 14:09 hello.txt
[root@web ~]# ./yes.sh
-rw-r--r-- 1 root root 0 11-28 14:09 hello.txt
[root@web ~]# ./yes.sh
-rw-r--r-- 1 root root 94040064 11-28 14:10 hello.txt
[root@web ~]# ./yes.sh
-rw-r--r-- 1 root root 0 11-28 14:10 hello.txt
[root@web ~]# ./yes.sh
-rw-r--r-- 1 root root 0 11-28 14:10 hello.txt
[root@web ~]#
问题出现了:如果频繁的执行这个脚本,就会发现竟然生成0字节的文件,为何?
问题思考
1. 请分析解释上面的yes.sh脚本频繁执行时的奇怪现象。
相关资料
【1】lx138 yes :循环输出
【2】hscripts yes Linux 命令
【3】LinuxSir 关于yes命令。。。
返回 我使用过的Linux命令系列总目录
分享到:
相关推荐
输出回应的字符串 yes回应“y”字符 后者指定字符 2 路径 usr bin yes 3 语法 yes [ help] [ version] string 4 参数 help 显示帮助字符 version 显示版本信息 5 相关命令 无 6 举例说明 [root@bixuan ]#...
java代码-使用java输入一个字符串,判断该字符串是否是回文,是输出“Yes”,否输出“No”.的源代码 ——学习参考资料:仅用于个人学习使用!
fc one.txt two.txt > 3st.txt 对比二个文件并把不同之处输出到3st.txt文件中,"> "和"> >" 是重定向命令 at id号 开启已注册的某个计划任务 at /delete 停止所有计划任务,用参数/yes则不需要确认就直接停止 at ...
Linux命令大全搜索工具,内容包含Linux命令手册、详解、学习、搜集。 Linux命令分类 这里存放Linux 命令大全并不全,你可以通过linux-command来搜索,它是把 command 目录里面搜集的...
Objective-C简单封装 字符串的存储操作,省去中间沙盒处理方式 代码如下:/存储publickey和sessionID — writeContent: nil - 仅取出数据, 其他 - 修改原内容并提取+(NSString *)storeFile:(NSString *)fileName...
py代码-输入一个字符串,检查该字符串是否为回文(正着读和反着读都一样的字符串), 如果是就输出Yes,否则输出No。要求使用切片实现。
2049:【例5.19】字符串判等 ...若两个字符串相等,输出YES,否则输出NO。 【输入样例】 a A bb BB ccc CCC Aa BBbb CCCccc 【输出样例】 YES 【提示】 本评测系统基于linux,不支持函数strupr、strlwr。
扩展名.txt改为.c即可在Turbo C或VC中编译运行
判断字符串是否中心对称,经本人多次调试与运行,实践证明确实能能输出正确结果
判断一个字符串是否是中心对称 C++描述
# 给你一个字符串a和一个正整数n,判断a中是否存在长度为n的回文子串。 # 如果存在,则输出YES,否则输出NO。 # 回文串的定义:记串str逆序之后的字符串是str1,若str=str1,则称str是回文串,如"abcba". # 输入...
使用方法,解压到本地目录,配置path,即可在dos下使用linux命令。 windows下能直接执行的linux命令,基本包括日常所有,如:[.exe grolbp.exe regtool.exe a2p.exe grolj4.exe rm.exe a2p5.10.0.exe grops.exe ...
5)sudo bash NVIDIA-Linux-x86_64-418.56.run ,一路点yes。 6)查看是否安装成功。nvidia-smi 如果是其它的内核版本,可以在https://www.nvidia.cn/drivers/unix/linux-amd64-display-archive/和...
观察配置后给出来的支持图形格式,看看该图形格式支持是否是yes,如果不是,那么必须先安装该图形格式的本地库。 例如,你应该检查是否已经安装如下rpm包: rpm –qa |grep libpng rpm –qa |grep libpng-devel rpm...
jdk-1_5_0_19-linux-i586.bin java 1.5 JDK1.5 JDK JDK 1.5 for linux 1.安装 shell终端下进入jdk-1_5_0_19-linux-i586-rpm.bin文件所在目录, 赋权 chmod +x jdk-1_5_0_19-linux-i586-rpm.bin 运行 ./jdk-1_5_0_...
//串口编程--接收PC发过来的字符串,回发字符串.发送期间中断控制LED灯闪烁 //采用外部晶振22.1184MHz 使用定时器1,方式2产生波特率,SMOD = 0或者1 //定时器初值X=256-SYSCLK*(SMOD+1)/(BAUDRATE*384)
linux 常用命令的源代码如ls ,od,who,yes等
将输入的一串字符串中包含的yes转换成no