免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
12下一页
最近访问板块 发新帖
查看: 1910 | 回复: 10
打印 上一主题 下一主题

Shell is Unix Power Tool [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2005-09-10 23:06 |只看该作者 |倒序浏览
那天測試那個 bash 的 SECONDS後,寫了一個用這變量的 script,
算是自己對這個變量的總結。
#! /bin/bash
# 一個用陣列組成的字串
word=( S h e l l \. i s  \. U n i x \. P o w e r \. T o o l )
# 設 i 為一隨機數目 1 或 2
i=$((RANDOM%1+1))
j=0
# 設循環 <= 陣列字串的總和
while (( $j <= ${#word[@]} ))
  do
    # 用計時器,隨機顯示字串,速度是隨機的
    if (( $SECONDS == $i ))  ; then
      display="$(echo ${word[$j]} | tr '.' ' ')"
      echo -n "$display"
      # 隨機增加秒數 和 增加 $j , 陣列下標改變,由 0..n
      (( i += $((RANDOM%3)) )) && (( j += 1 ))
   fi
done
echo ""

论坛徽章:
1
荣誉会员
日期:2011-11-23 16:44:17
2 [报告]
发表于 2005-09-11 00:25 |只看该作者

Shell is Unix Power Tool

有趣呀  

论坛徽章:
0
3 [报告]
发表于 2005-09-11 23:00 |只看该作者

Shell is Unix Power Tool

有趣,高人!

SECONDS第一次见,还不晓得怎么用,LZ地代码俺还没消化完 ^_^

论坛徽章:
1
荣誉会员
日期:2011-11-23 16:44:17
4 [报告]
发表于 2005-09-12 13:17 |只看该作者

Shell is Unix Power Tool

原帖由 "大蚂蚁" 发表:
有趣,高人!

SECONDS第一次见,还不晓得怎么用,LZ地代码俺还没消化完 ^_^

简单的说,专有变量SECONDS里存放着开启一个shell的时间(秒)

论坛徽章:
0
5 [报告]
发表于 2005-09-12 14:11 |只看该作者

Shell is Unix Power Tool

while (( $j <= ${#word[@]} ))  是什么意思?

论坛徽章:
8
摩羯座
日期:2014-11-26 18:59:452015亚冠之浦和红钻
日期:2015-06-23 19:10:532015亚冠之西悉尼流浪者
日期:2015-08-21 08:40:5815-16赛季CBA联赛之山东
日期:2016-01-31 18:25:0515-16赛季CBA联赛之四川
日期:2016-02-16 16:08:30程序设计版块每日发帖之星
日期:2016-06-29 06:20:002017金鸡报晓
日期:2017-01-10 15:19:5615-16赛季CBA联赛之佛山
日期:2017-02-27 20:41:19
6 [报告]
发表于 2005-09-12 14:24 |只看该作者

Shell is Unix Power Tool

${#word[@]}表示数组中元素的个数

论坛徽章:
0
7 [报告]
发表于 2005-09-12 14:29 |只看该作者

Shell is Unix Power Tool

谢谢,我也这么猜测的,^_^
不过没弄过数组,谢谢你帮我确认

论坛徽章:
0
8 [报告]
发表于 2005-09-12 20:45 |只看该作者

Shell is Unix Power Tool

那裡是高人,... 你看代碼
#! /bin/bash
if [ "twf_cc" = "高人" ] ; then
  echo "你說錯了!!!"
elif [ "twf_cc" = "菜鳥" ]; then
  echo "你說中了!!!"
fi

论坛徽章:
0
9 [报告]
发表于 2005-09-12 21:35 |只看该作者

Shell is Unix Power Tool

原帖由 "twf_cc"]" = "菜鳥"  发表:
; then
  echo "你說中了!!!"
fi

你的code肯定会报错 没有定义的变量   

论坛徽章:
0
10 [报告]
发表于 2005-09-12 22:33 |只看该作者

Shell is Unix Power Tool

我加了 color , 這個 $RANDOM 好玩,改了一點代碼
#! /bin/bash
word=( S h e l l \. i s  \. U n i x \. P o w e r \. T o o l )
i=$((RANDOM%1+1))
j=0
while (( $j < ${#word[@]} ))
do
   if (( $SECONDS == $i ))  ; then
      display="$(echo ${word[$j]} | tr '.' ' ')"
      echo -ne "\033[3$((RANDOM%5+1))m${display}"
      (( i += $((RANDOM%2)) )) && (( j += 1 ))
   fi
done
echo -e "\033[30m\n"
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP