亚洲av成人无遮挡网站在线观看,少妇性bbb搡bbb爽爽爽,亚洲av日韩精品久久久久久,兔费看少妇性l交大片免费,无码少妇一区二区三区

Chinaunix

標題: 怎么打印出特定個數(shù)的符號,如* [打印本頁]

作者: beacon1024    時間: 2011-08-09 13:41
標題: 怎么打印出特定個數(shù)的符號,如*
我想打印出100個*(星號),用什么語句呢?

目的是想顯示當前腳本執(zhí)行的進度,例如有一百臺服務器需要遠程執(zhí)行腳本,當前已經(jīng)執(zhí)行到第30臺了,希望用一個腳本實現(xiàn)以下:

***************************************
*******30%
***************************************

類似于這個效果。

謝謝!
作者: yinyuemi    時間: 2011-08-09 13:57
本帖最后由 yinyuemi 于 2011-08-09 14:06 編輯

回復 1# beacon1024
  1. printf -v str "%100s*" " "
  2. echo "${str// /*}"
復制代碼
or:
  1. eval printf "%.s\*" {1..100}
復制代碼

作者: lionfun    時間: 2011-08-09 14:03
回復 1# beacon1024


        http://search.chinaunix.net/bbs. ... title&forums=24 如果第一次不顯示,多刷新幾次!
作者: Shell_HAT    時間: 2011-08-09 14:20
  1. seq -s '*' 100 | tr -d '[0-9]'
復制代碼
  1. sed ':a;s/^.\{0,99\}$/&\*/;ta' <<< ""
復制代碼
  1. awk 'BEGIN{OFS="*";NF=100;print}'
復制代碼
  1. perl -le 'print "*" x 100'
復制代碼

作者: yinyuemi    時間: 2011-08-09 14:24
本帖最后由 yinyuemi 于 2011-08-09 14:33 編輯

回復 1# beacon1024
  1. #!/bin/bash
  2. eval printf "%.s\*" {1..100}
  3. echo
  4. echo
  5. echo
  6. echo
  7. eval printf "%.s\*" {1..100}

  8. echo -e "\033[3A"
  9. i=0;
  10. while true
  11. do
  12. ((i++))
  13. sleep 1s
  14. s="$( eval printf "%.s\*" {1..$i})";
  15. echo -e -n "\033[1000D""$s";
  16. echo -n $i"%";
  17. echo -n -e "\033[0m"
  18. [[ $i == 100 ]] && break;
  19. done
  20. echo -e "\033[3B"
復制代碼

作者: beacon1024    時間: 2011-08-09 14:44
多謝兩位!
作者: cjaizss    時間: 2011-08-09 15:33
類似這樣可以嗎?

  1. i=1;echo -n '*1%';while [ $i -le 100 ];do sleep 1;let i++;if [ $i -lt 10 ];then echo -ne '\b\b*'$i'%';else echo -ne '\b\b\b*'$i'%';fi;done
復制代碼
里面的sleep 1就替換成別的命令了




歡迎光臨 Chinaunix (http://www.72891.cn/) Powered by Discuz! X3.2