当前位置:  技术问答>linux和unix

关于echo 不显示的一个问题

    来源: 互联网  发布时间:2016-05-21

    本文导语:  #!/bin/sh loop=0 sig_int() {   echo " interrupt signal was catched "   echo "the loop is $loop"   exit 0 } trap "sig_int" 2 while :   do   loop=`expr $loop + 1 `   done 一个简单的shell脚本,一个死循环对loop进行自增,然后捕获SIGINT然后打印...


#!/bin/sh
loop=0
sig_int()
{
  echo " interrupt signal was catched "
  echo "the loop is $loop"
  exit 0
}
trap "sig_int" 2
while :
  do
  loop=`expr $loop + 1 `
  done


一个简单的shell脚本,一个死循环对loop进行自增,然后捕获SIGINT然后打印loop的值,但是最后有时候显示不出来loop的值
有时候则可以,不知道是什么原因。

|
应该是 loop=`expr $loop + 1` 操作在中间被终止,导致了 loop 值的丢失

下面这个倒没问题

#!/bin/sh
loop=1

sig_int()
{
   echo " interrupt signal was catched "
   echo "the loop is $loop"
   exit 0
}

trap "sig_int" 2

while :
do
  (( loop++ ))
done

|
楼上说的原因是对的,也可以试试下面的方法。
因为 (( loop++ )) 的语法Bourne shell并不支持,虽然 (( loop++ )) 比用expr快的多。

#!/bin/sh

sig_int()
{
        echo " interrupt signal was catched "
        echo "the loop is $loop"
        exit 0
}

trap "sig_int" 2

loop=1
while true
do
        count=`expr $loop + 1`
        loop=$count
done

    
 
 
 
本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • echo ’*’与echo *的执行结果有什么区别?为什么?
  • linux里echo $与linux echo $[]有什么区别?
  • echo `echo \\\z` 为什么输出是 \z
  • echo -e 与echo -n的区别,我们老师是不是说错了
  • echo把选项-e输出了?
  • echo到底怎么用?
  • echo -n不生效
  • 怎样在echo里面实现换行?
  • JavaScript 图像延迟加载库 Echo.js
  • echo 能回显多行内容吗?
  • echo换行回显
  • echo $? 是什么意思?
  • shell里怎样把echo出来的东西放到变量中??
  • 这个echo的是什么意思
  • echo -n abcdef >/dev/memory什么意思??
  • echo $?为什么没有用
  • --------在stty -echo屏蔽回显后,如何重新获得回显?--------
  • 请教bsh中如何echo出"aaaaaa bbbbb"这样中间有多个空格的字符串
  • 谁能来说说solaris下ECHO命令的使用
  • echo-nginx-module


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3