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"
    
  • 相关阅读:
    android之PackageManager简单介绍
    西门子PLC学习笔记二-(工作记录)
    node.js第十课(HTTPserver)
    ubuntu ???????????? no permissions 问题解决
    Web API 设计摘要
    公共 DNS server IP 地址
    用Unicode迎接未来
    vs2010公布时去除msvcp100.dll和msvcr100.dll图讲解明
    linux串口驱动分析
    C++ 中dynamic_cast<>的用法
  • 原文地址:https://www.cnblogs.com/f-ck-need-u/p/9987052.html
Copyright © 2011-2022 走看看