草庐IT

Do-While

全部标签

linux - 使用 Ctrl-C (SIGINT) 在 Perl 中使用系统命令打破 while 循环?

考虑以下示例,test.pl:#!/usr/bin/envperluse5.10.1;usewarnings;usestrict;$SIG{'INT'}=sub{print"CaughtCtrl-C-Exit!\n";exit1;};$|=1;#turnoffoutputlinebufferinguseGetopt::Long;my$doSystemLoop=0;GetOptions("dosysloop"=>\$doSystemLoop);print("$0:doSystemLoopis:$doSystemLoop(use".(($doSystemLoop)?"system":"Pe

linux - Sleep in a while 循环获取自己的 pid

我有一个bash脚本,它在一个循环中执行一些并行处理。我不希望并行进程占用CPU,所以我使用了sleep命令。这是一个简化版本。(whiletrue;dosleep99999;done)&所以我从bash提示符下执行上面的行并得到如下内容:[1]12345其中[1]是作业编号,12345是while循环的进程ID(pid)。我执行kill12345并得到:[1]+Terminated(whiletrue;dosleep99999;done)看起来整个脚本都被终止了。但是,我执行了psaux|grepsleep并发现sleep命令仍然有效,但有自己的pid!我可以终止sleep并且一切看

linux - 使用 sudo 运行时出现意外标记 `do' 附近的语法错误

来自这里:http://www.sat.dundee.ac.uk/psc/watchdog/watchdog-testing.htmlfornin$(seq160);做echo$n;sleep1;同步;完成我得到::~$sudofornin$(seq160);doecho$n;sleep1;sync;donebash:syntaxerrornearunexpectedtoken`do' 最佳答案 shell解析命令行,因为for看起来像sudo的参数,你基本上得到一个没有的do对于。要修复它,请在子shell中运行循环,作为单独的脚

linux - Bash Shell 执行 While Loop 无限循环?

基本上这是我的代码:bay=$(prog-someflags)while[$bay="Anotherinstanceofthisprogramisrunning,pleaseexititfirst"]doecho"AwaitingAccesstoprogram"do.....我有一个程序,由于它与我的硬件交互的方式,一次只允许一个实例运行,当另一个实例正在运行时,它会弹出以下消息“该程序的另一个实例正在运行,请退出它首先”。我需要能够运行多个将使用同一个程序的脚本,所以我决定使用上面的代码。我的问题是,当我运行我的两个脚本时,一个将获得对程序的访问权限并按需要运行,但另一个将注意到错误

linux - 在 bash 脚本中,如何在 while 循环条件中使用函数退出状态

下面是我的shell脚本。如何比较while循环条件block中函数的退出状态?无论我从check1函数返回什么,我的代码都会进入while循环#!/bin/shcheck1(){return1}while[check1]doecho$?check1if[$?-eq0];thenecho"Called"elseecho"DD"fisleep5done 最佳答案 删除test命令-也称为[。所以:whilecheck1do#Loopwhilecheck1issuccessful(returns0)ifcheck1thenecho'ch

Linux reboot() 系统调用 : why it calls do_exit(0) after kernel_halt()?

这与:https://stackoverflow.com/a/13413099/1284631有关现在,问题是:为什么reboot()系统调用,当使用LINUX_REBOOT_CMD_HALT参数调用时(参见此处:http://lxr.linux.no/linux+v3.6.6/kernel/sys.c#L480)在已经调用之后调用do_exit(0)>kernel_halt(),因为调用kernel_halt()归结为调用stop_this_cpu()(参见此处:http://lxr.linux.no/linux+v3.6.6/arch/x86/kernel/process.c#L5

linux - Bash while 循环意外停止

我正在分析两个具有我不理解的行为的脚本:#/bin/bashtijd=${1-60}oud=`ls-l$MAIL`while:;donieuw=`ls-l$MAIL`echo$oud$nieuwsleep$tijddone|{readabrest;echo$a;echo$b;echo$rest;}此脚本中的while循环在一次迭代后停止。#/bin/bashtijd=${1-60}oud=`ls-l$MAIL`while:;donieuw=`ls-l$MAIL`echo$oud$nieuwsleep$tijddone|cat此脚本中的while循环是无限的。有什么区别?我认为这是管道和

安卓 : GL error while resizing: 0x506 (ignored)

关闭。这个问题需要detailsorclarity.它目前不接受答案。想改进这个问题吗?通过editingthispost添加细节并澄清问题.关闭去年。Improvethisquestion当我使用任何Android模拟器时,我不断遇到错误。"GLerrorwhileresizing:0x506(ignored)"有人知道如何解决这个问题吗?它是否会影响我的EspressoUI测试用例,因为在此之后我无法运行我的Espresso测试用例。我的测试Actor一启动就卡住了,并尝试单击出现以下错误的按钮android.support.test.espresso.AppNotIdleExce

linux - 如何在 while-loop 读取行中读取用户?

我有一个bash文件,它提示用户输入一些参数,如果没有给出则使用默认值。然后脚本继续使用参数执行其他一些命令。这很好用——在最近添加之前没有问题。在尝试从txt文件中读取NAMES参数时,我添加了一个while循环来获取文件中的名称,但我仍然希望提示输入其余参数。但是一旦我添加了while循环,输出就会在get_ans()中显示打印的提示并且不会暂停读取,因此所有默认值都被选中。我想从文件中读取第一个参数,然后从提示用户读取所有后续文件。我通过添加while循环破坏了什么?catlist.txt|whilereadlinedoget_ans"Name""$line"readNAME$t

Linux 外壳 : remove all HTML files in tree while leaving directory structure

我正在尝试从目录generated和那里的所有子文件夹中删除所有.html文件,但它需要单独保留所有其他文件和目录。我尝试逐个文件夹浏览并运行rm*.html但这需要很长时间,因为有20多个子文件夹也有子文件夹。我尝试查找rm的手册页,但没有发现任何明显的内容。我敢肯定有一种方法可以一次做到这一点,但我不知道怎么做。有什么想法吗? 最佳答案 我认为这可能有效:cd生成找到.-typef-iname"*.html"-delete 关于Linux外壳:removeallHTMLfilesin