zoukankan      html  css  js  c++  java
  • shell脚本动画小工具

    shell脚本动画小工具

    看gif图:

    shell脚本版

    脚本内容如下:

    #!/usr/bin/env bash
    
    ## ------------------------------------------------------------
    ## Author:博客园——骏马金龙
    ## shell scripts:http://www.cnblogs.com/f-ck-need-u/p/7048359.html
    ## ------------------------------------------------------------
    
    ## Usage:$0 "COMMAND"
    ## you must enclosing the COMMAND by double-quotes
    ## example1: $0 "sleep 3;echo haha"
    ## example2: $0 "service mysql start"
    
    killmyself="pkill -13 -f `basename $0`"
    
    trap "$killmyself" sigint
    
    while true;do
        for i in '-' "\" '|' '/';do
            printf "
    %s" $i
            sleep 0.2
        done
    done &
    
    bgpid=$!
    
    tmp="`bash -c "$@"`"
    kill $bgpid
    printf "
    %s
    " "$tmp"
    $killmyself
    

    必须将待运行的命令放进引号中包围,并作为脚本的参数。

    ## example1: $0 "sleep 3;echo haha"
    ## example2: $0 "service mysql start"
    ## example3: $0 "service mysql stop"
    

    perl版

    下面是用perl写的,作用完全一样。将内容保存到一个文件中,赋予可执行权限即可。同样,待执行的命令需要使用双引号包围。

    #!/usr/bin/env perl
    use strict;
    use warnings;
    
    defined(my $pid = fork) or die "can't fork child: $!";
    
    unless($pid){
        # child process
        select STDOUT; $| = 1;
        while(1){
            foreach my $i ('-','\','|','/'){
                printf("
    %s",$i);
                select(undef,undef,undef,0.1)
            }
        }
    }
    
    my $var = `/bin/sh -c "@ARGV"`;
    kill INT => $pid or die "Cannot signal to $pid with SIGINT: $!";
    printf "
    %s",$var;
    

    假如该perl文件名为mygif.pl,用法:

    ./mygif "sleep 3;echo haha"
    ./mygif "service mysql start"
    ./mygif "service mysql stop"
    
  • 相关阅读:
    内功心法-代理模式
    java.lang.NumberFormatException: multiple points
    MarkDown语法-使用博客园的markDown编辑
    MarkDown语法
    linux下安装tomcat——service tomcat does not support chkconfig
    关于git&github的操作
    activeMQ 本地测试
    spring AOP 的坑~
    js高级面试题
    js的内存管理
  • 原文地址:https://www.cnblogs.com/f-ck-need-u/p/9987052.html
Copyright © 2011-2022 走看看