递归-这个程序为什么会死循环啊,求教。》》

问题描述

这个程序为什么会死循环啊,求教。》》

#!/bin/bash
function change()
{
ls -l > /home/wang/ab.txt #重定向
sed -i '1d' /home/wang/ab.txt
cat /home/wang/ab.txt >> /home/wang/b.tx
while read line #读取每一行
do
t=${line:0:1} #截取文件类型
#echo $t
b=${line##*' '} #截取文件全名
if [ "$t" != "d" ];then
c=${b%.*} #截取文件名
d=${b##*.} #截取文件后缀名
a=${line#*' '}
a=${a#*' '}
a=${a%%' '*} #从目录中截取所有者名
mv $b $c[$a].$d
else
cd $b
change
fi
done < /home/wang/b.txt
}
if [ $# -eq 1 ];then
cd $1 #如果有参数,则进入目录
fi
change
exit
程序的功能是递归进入目录,把文件名后缀前加上所有者的名字,如a.txt,改为a[owner].txt,是递归也就是如果目录里边还有目录,要进去

解决方案

必定是没有满足退出条件,这个你得仔细查查

解决方案二:

详解程序死循环

时间: 2024-10-29 07:00:24

递归-这个程序为什么会死循环啊,求教。》》的相关文章

C#编写串口数据收发程序,收发频繁,求教多线程处理机制!

问题描述 C#编写串口数据收发程序,收发频繁,求教多线程处理机制! C#编写串口数据收发程序,点击界面按钮发送指令数据,等待接收返回的数据,此外还有周期性数据需要不断接收:接收到的数据要判断重复帧和是否是最后一帧,然后去掉帧头帧尾并显示在界面控件内:目前程序开了三个线程:接收.处理.发送,三个线程都是一直循环判断指针是否有更新,但这样导致界面切换太卡,请问该怎么处理这三个线程之间的关系才能使界面切换流畅呢,初学C#,如果能给出具体修改代码方法更佳,请大神帮帮忙啊~急! 解决方案 不要过度同步UI

怎么判断哪些app可用-通过QQ打开文件选择其他应用打开,是怎么判断哪些应用程序可以打开的?求教大神!

问题描述 通过QQ打开文件选择其他应用打开,是怎么判断哪些应用程序可以打开的?求教大神! iOS,通过QQ或第三方去打开PDF文件或是视频,选择用其他应用打开.系统会默认的列出哪些应用程序可以打开,这是怎么做到的,在程序中怎么判段?请大神指教!!! 解决方案 参考一下这个 iOS 用其它应用打开文件研究http://blog.sina.com.cn/s/blog_8732f19301019291.html 解决方案二: UIDocumentInteractionController 第三方应用中

代码-做一个记录回放的钩子程序出现了一些问题求教

问题描述 做一个记录回放的钩子程序出现了一些问题求教 void CMFCApplication2Dlg::OnBnClickedButton3() { hHook =SetWindowsHookEx( WH_JOURNALRECORD, (HOOKPROC)JournalRecordProc, AfxGetApp()->m_hInstance, 0 ); // TODO: 在此添加控件通知处理程序代码 } 中提示(HOOKPROC)类型转换无效,请问是咋回事 解决方案 把这个函数定义前面加一个s

遇到一个C#的串口通信程序问题,特来求教_(:з」∠)_

问题描述 我写了一个程序利用2个端口连接2台仪器,过程是这样的:在窗体的load事件中就会打开serialHVT.Open();serialPLC.Open();我有4个功能按钮,每个功能对应一个计时器,按钮方法内会发送一个指令给一个仪器,计时器内也会有一个指令发送给另外一个仪器,当点击第一个按钮时会触发第一个计时器,时间为5秒,5秒过后关闭该计时器,模拟点击第二个按钮,第二个按钮会继续触发第二个计时器,以此类推然后问题就出现在这些过程当中,总会提示2个之中的某个端口被关闭希望各位大神给指导下,

这段Java程序如何加入异常处理。求教~

问题描述 importjava.io.*;publicclassGobang{char[][]checkboard;publicGobang(){checkboard=newchar[15][15];for(inti=0;i<15;i++)for(intj=0;j<15;j++)checkboard[i][j]='+';}publicvoidshowCheckboard(){System.out.println("Nowcheckboardislikethis:");for

有趣的 Scala 语言:使用递归的方式去思考

在初学计算机编程时,我想大多数人的经历会和作者一样,学校为我们挑选一门语言,大多为 C 或 Java ,先是基本的数据类型,然后是程序控制语句,条件判断,循环等,书上会教我们如何定义一个函数,会说程 序就是一条一条的指令,告诉计算机该如何操作.同时,我们还会看到如何定义一个递归函数,用来计算阶乘 或斐波那契数列.工作以后,其他的这些基础还在日复一日的使用,但递归却很少再被用到,以致我们很难再 用递归的方式去解决问题了,为此,我们还有一个借口:递归性能差,使用循环效率高.事实真是这样的吗? 我们为

程序员的十层楼

自西方文艺复兴以来,中国在自然科学方面落后西方很多,软件领域也不例外.当然现在中国的许多程序员们对此可能有许多不同的意见,有些人认为中国的程序员水平远落后于西方,有些则认为中国的程序员个人能力并不比西方的程序员差,只是整个软件产业落后而已.     那么,到底中国的程序员水平比西方程序员水平差,还是中国有许多优秀的程序员达到或超过了西方程序员同等水平呢?要解决这个问题,必须先知道程序员有多少种技术层级,每个层级需要什么样的技术水平,然后再比较中国和西方在各个技术层级的人数,就可以知道到底有没有差

Java中递归原理实例分析_java

本文实例分析了Java中递归原理.分享给大家供大家参考.具体分析如下: 解释:程序调用自身的编程技巧叫做递归. 程序调用自身的编程技巧称为递归( recursion).递归做为一种算法在程序设计语言中广泛应用. 一个过程或函数在其定义或说明中有直接或间接调用自身的一种方法,它通常把一个大型复杂的问题层层转化为一个与原问题相似的规模较小的问题来求解,递归策略只需少量的程序就可描述出解题过程所需要的多次重复计算,大大地减少了程序的代码量.递归的能力在于用有限的语句来定义对象的无限集合.  递归的三个

纸上谈兵: 数学归纳法, 递归, 栈

作者:Vamei 出处:http://www.cnblogs.com/vamei 欢迎转载,也请保留这段声明.谢谢!    数学归纳法 数学归纳法(mathematical induction)是一种数学证明方法,常用于证明命题(命题是对某个现象的描述)在自然数范围内成立.随着现代数学的发展,自然数范围内的证明实际上构成了许多其他领域(比如数学分析)的基础,所以数学归纳法对于整个数学体系至关重要.   数学归纳法本身非常简单.如果我们想要证明某个命题对于自然数n都成立,那么: 第一步 证明命题对