系统之家 - Windows操作系统&装机软件下载网站!

当前位置: 首页  >  教程资讯  >  电脑教程 101个shell脚本 猜数字游戏代码

101个shell脚本 猜数字游戏代码

时间:2024-04-17 09:06:58 来源: 人气:

原本书上这个例子是教调试脚本的,它故意给出的脚本中有几个错误,教我们认识系统提示的错误,并修改运行。但比较难写出来,所以把修改好了的脚本放上来,这个脚本比较有趣味的

#!/bin/sh
 # hilow -- A simple number-guessing game

 biggest=100              # maximum number possible
 guess=0                # guessed by player
 guesses=0               # number of guesses made
 number=$(($$ % $biggest))       # random number, between 1 and $biggest

 while [ $guess -ne $number ] 
 do
  echo -n "Guess? " ; read guess
  if [ "$guess" -lt $number ] ; then
   echo "... bigger!"
  elif [ "$guess" -gt $number ] ; then
   echo "... smaller!i"
  fi
  guesses=$(($guesses + 1))
 done
 echo "Right!! Guessed $number in $guesses guesses."
 exit 0

脚本分析

#1) number=$(($$ % $biggest)) $$代表执行此shell的pid,因为每次执行shell的pid并不相同, 所以number为1-100的随机数。

#2)$guess -ne $number ,if [ "$guess" -lt $number ],elif [ "$guess" -gt $number ] ;为判断输入的数字与$number的比较。

#3)整个脚本并不复杂,但逻辑清晰明了,也很有意思。

shell中函数的应用
Toturnthefunctionsinthischapterintoalibraryforuseinotherscripts,extractallthefunctionsandconcatenatethemintoonebigfile.Ifwecallthisfilelibrary.sh,atestscriptthataccessesallofthefunctionsmightlookliket

控制输出颜色的shell脚本
实现代码:#!/bin/sh#ANSIColor--Usethesevariablestomakeoutputindifferentcolors#andformats.Colornamesthatendwith'f'areforeground(text)colors,#andthoseendingwith'b'arebackgroundcolors.initializeANSI

linux shell之文件锁
经常在shell脚本里要阻止其它进程,比如msmtp自带的mailqueue脚本,这个脚本的互斥做法是不正确的,下面介绍下发现的三个通过文件达到互斥的正确做法

教程资讯

电脑教程排行

系统教程

系统主题