Shell Step by Step (4) —— Cron & Echo「建议收藏」

Shell Step by Step (4) —— Cron & Echo

大家好,又见面了,我是全栈君。

6.脚本定时任务

# Example of job definition:
# .------------------------- minute (0 - 59)
# | .--------------------- hour (0 - 23)
# | | .----------------- day of month (1 - 31)
# | | | .------------- month (1 - 12) 
# | | | | .--------- day of week (0 - 6) 
# | | | | |
# * * * * * user-name command to be executed

7.查看当前用户的UID

root@kallen:/usr/data/kallendb_backup# ps -ef | grep UID 
UID PID PPID C STIME TTY TIME CMD 
root 2872 2384 0 09:43 pts/2 00:00:00 grep --color=auto UID

8.用Shell模拟一个进度条

  #! /bin/bash
  #
  # Progress Bar
  # Print # to view the process bar

  # create variable
  b=''

  # for loop
  for ((i=0;$i<=100;i+=2))
  do
      printf "Progress:[%-50s]%d%%\r" $b $i
      sleep 0.1

      b=#$b
  done
  echo

源码

在Shell脚本的编写应用中,有时候会须要用到图形界面的案例,比方默认cp复制文件为静默模式。无法看到拷贝的进度与百分比。

而dialog正是为Shell提供图形界面的工具,该工具能够为Shell脚本提供各式各样的图形界面,今天为大家介绍的是dialog提供的进度条图形功能。

dialog指令能够单独运行。格式为

 dialog --title "Copy" --gauge "files" 6 70 10

备注:

title表示图形进度条的标题。
gauge为正文内容。进度条高度为6,宽度70。显示运行进度为10%

for i in {1..100} ; 
do sleep 1; 
    echo $i | dialog --title 'Copy' --gauge 'I am busy!' 10 70 0; 
done

以下案例中通过统计源文件个数。再据此计算出复制文件的百分比,在Shell中提供进度的显示。

该脚本有两个參数。第一个參数为源文件路径,第二个參数为目标路径。
假设您的应用案例不同能够据此稍作改动就可以使用。

#!/bin/bash 
# Description: A shell script to copy parameter1 to 
# parameter2 and Display a progress bar 
# Author:Jacob 
# Version:0.1 beta 

# Read the parameter for copy,$1 is source dir 
# and $2 is destination dir. 
dir=$1/*    
des=$2    
# Test the destination dirctory whether exists 
[ -d $des ] && echo "Dir Exist" && exit 1    
# Create the destination dirctory 
mkdir $des    
# Set counter, it will auto increase to the number of 
# source file. 
i=0    
# Count the number of source file 
n=`echo $1/* |wc -w`    

for file in `echo $dir`    
do
    # Calculate progress 
    percent=$((100*(++i)/n))    
    cat <<EOF    
    XXX    
    $percent    
    Copying file $file ...    
    XXX    
    EOF    
    /bin/cp -r $file $des &>/dev/null
done | dialog --title "Copy" --gauge "files" 6 70    
clear

效果如图:
效果图

9.Echo输出

功能说明: 显示文字
语 法:

echo [ -ne ]  [ 字符串 ]  或  
echo [ --help ]  [--version ]  

參数:

-n 不要在最后自己主动换行 -e 若字符串中出现以下字符,则特别加以处理,而不会将它当成一般文字输出; \b          删除前一个字符;    
\f          换行但光标仍旧停留在原来的位置;     
\r          光标移至行首。但不换行;    
\t          插入tab。   
\v          与\f同样;   
\nnn        插入nnn(八进制)所代表的ASCII字符。
--help 显示帮助 --version 显示版本号信息

热门推荐

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/115220.html原文链接:https://javaforall.net

赞 (0)
全栈程序员-站长的头像全栈程序员-站长

相关推荐

  • layui框架和vue哪个好_目前流行的9大前端框架[通俗易懂]

    layui框架和vue哪个好_目前流行的9大前端框架[通俗易懂]Vue(读音/vjuː/,类似于view)是一套用于构建用户界面的渐进式框架。与其它大型框架不同的是,Vue被设计为可以自底向上逐层应用。Vue的核心库只关注视图层,不仅易于上手,还便于与第三方库或既有项目整合。另一方面,当与现代化的工具链以及各种支持类库结合使用时,Vue也完全能够为复杂的单页应用提供驱动。

    2022年6月25日
  • elasticsearch数据库搭建 linux版

    elasticsearch数据库搭建 linux版介绍Elasticsearch是一个分布式可扩展的实时搜索和分析引擎,一个建立在全文搜索引擎ApacheLucene(TM)基础上的搜索引擎.当然Elasticsearch并不仅仅是Lucene那么简单,它不仅包括了全文搜索功能,还可以进行以下工作:分布式实时文件存储,并将每一个字段都编入索引,使其可以被搜索。 实时分析的分布式搜索引擎。 可以扩展到上百台服务器,处理P…

    2022年4月29日
  • SPSS教程——进行卡方检验的相关步骤

    SPSS教程——进行卡方检验的相关步骤作为非参数检验之一的卡方检验用于判断样本是否来自特定分布的总体的检验方法,主要用于研究总体分布和理论分布是否存在显著差异。适用于有多个分类值的总体分布的分析。在这次教程中,我们给大家演示SPSS如何进行卡方检验。下面我们使用IBMSPSSStatistics26(win10)结合具体案例详细演示一遍吧。打开样本数据医学家研究发现,在一周中,周一心脏病患者猝死的人数较多,其他时间相同。周一到周日的比例近似为2.8:1:1:1:1:1:1。为此在网上搜集了一份心脏病人死亡日期的样本数据,用于推断

    2022年5月17日
  • BestSync同步软件 同步 VM 虚拟机里的Linux系统下Tomcat webapps里的项目

    BestSync同步软件 同步 VM 虚拟机里的Linux系统下Tomcat webapps里的项目

    2021年8月31日
  • airtest测试用例_Airtest 常用方法[通俗易懂]

    airtest测试用例_Airtest 常用方法[通俗易懂]几个添加设备参数的例子#方法一:在auto_setup()接口添加设备auto_setup(__file__,devices=[“Android://127.0.0.1:5037/SJE5T17B17”])#方法二:用connect_device()方法连接设备dev=connect_device(“Android://127.0.0.1:5037/SJE5T17B17”)#方法三:用init…

    2022年11月1日
  • MODIS数据wget下载[通俗易懂]

    MODIS数据wget下载[通俗易懂]运行/cmdwget.exe放在E:\DATA\MODIS\MCD12Q1目录下。wget-erobots=off-m-np-R.html,.tmp-nH–cut-dirs=3“https://ladsweb.modaps.eosdis.nasa.gov/archive/orders/501504344/”–header“Authorization:Bearera2ltaHl1bmpvb25nOmEybHRhSGwxYm1wdmIyNW5NakpBWjIxaGFXd3VZ

    2022年5月29日

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号