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"
    
  • 相关阅读:
    Hackers' Crackdown UVA
    Sequence II HDU
    To the moon HDU
    Dynamic Rankings ZOJ
    google vimium插件的一些简单命令
    关于datatable转换datatime类型的问题
    服务器无法播放flv格式的视频解决办法
    DTCMS 新建下拉列表控件
    ajax 返回数据 无法得到其属性的解决办法
    关于IIS中WEB网站访问弹“验证输入框”及“401限制访问”的解决办法
  • 原文地址:https://www.cnblogs.com/f-ck-need-u/p/9987052.html
Copyright © 2011-2022 走看看