c/c++语言开发共享shell实现一个简单进度条

shell简单语法 条件测试 用命令test或[ 测试一个条件是否成立。如果测试条件为真,命令的exit status为0,测试条件为假,exit status为1。 vc88l3n0cm9uzz


shell简单语法

条件测试

用命令test或[ 测试一个条件是否成立。如果测试条件为真,命令的exit status为0,测试条件为假,exit status为1。
c/c++语言开发共享shell实现一个简单进度条

 alt=vc88l3n0cm9uzz48l3a+dqo8chjlignsyxnzpq==”brush:java;”> -lt//小于 -le//小于等于 -gt//大于 -ge//大于等于 -eq//等于 -ne//不等于

测试命令
c/c++语言开发共享shell实现一个简单进度条

与 或 非 的测试命令
 alt=

分支语句if/then/elif/else/fi

  #!/bin/bash  read val   if [ $val -eq 100 ]  then      echo "true"  else      echo "false"  fi

if可以添加对任何命令的检测,它是根据命令的退出码判断
if支持嵌套
if不能出现空的代码块

case…esac
可以检测所有语句包括正则表达式

  #!/bin/bash  read op  case $op in      start )      echo "start"      ;;      stop )      echo "stop"      ;;      restart )      echo "restart"      ;;      * )      echo "default"  esac  

循环语句

for/do/done

  #!/bin/bash  for i in {1..10}  do      echo $i  done  
  #!/bin/bash  for(( i=1; i<10; i++))//当成c语言的语法来处理  do      echo $i  done  

while/do/done

  #!/bin/bash  i=0  while [ $i -le 10 ]  do      echo $i      let i++  done  

位置参数和特殊变量

  $0//相当于c语言main函数的argv[0]  $1,$2,$3... //位置参数,相当于c语言main函数的argv[1],argv[2]...  $#//相当于main函数的argc-1  $@//表示参数列表“$1”"$2"...  $?//上一条命令的exit status  $$//当前shell的进程号

函数

  #!/bin/bash  function fun()  {      return $1    }  fun "$@"//传参  ret=$?//接受上一条命令的退出码  if [ $ret -eq 0 ]  then      echo "success"  else      echo "false"  fi  

数组

  arr=(1 2 3 "e" 5.34)//用空格隔开  echo ${arr[3]}//输出下标为3的  echo ${arr[@]}//将数组整体输出  echo ${arr[*]}//将数组个数作为变量输出

进度条实现

  #!/bin/bash  i=0  bar=''  index=0  arr=( "|" "/" "-" "\" )  while [ $i -le 100 ]  do      let index=index%4      printf "[%-100s][%d%%][e[43;46;1m%ce[0m]r" "$bar" "$i" "${arr[$index]}"      let i++      let index++      usleep 30000      bar+='#'  done  printf "n"  

shell实现一个简单进度条

本文来自网络收集,不代表计算机技术网立场,如涉及侵权请联系管理员删除。

ctvol管理联系方式QQ:251552304

本文章地址:https://www.ctvol.com/c-cdevelopment/608104.html

(0)
上一篇 2021年5月15日
下一篇 2021年5月15日

精彩推荐