Linux Shell脚本写猜拳游戏

Linux Shell脚本写猜拳游戏,第1张

#!/bin/bash

cp=$(( $RANDOM % 3 )) #获取0-2的随机数

echo "请输入您的选择:0石头,1剪刀,2布。"

read my

case $my in

0)

if [ $cp = 0 ]then

echo "您出石头,电脑出石头"

echo "结果:平局"

elif [ $cp = 1 ]then

echo "您出石头,电脑出剪刀"

echo "结果:恭喜您获胜!"

else

echo "您出石头,电脑出布"

echo "结果:很遗憾您输了"

fi

1)

if [ $cp = 0 ]then

echo "您出剪刀,电脑出石头"

echo "结果:很遗憾您输了"

elif [ $cp = 1 ]then

echo "您出剪刀,电脑出剪刀"

echo "结果:平局"

else

echo "您出剪刀,电脑出布"

echo "结果:恭喜您获胜"

fi

2)

if [ $cp = 0 ]then

echo "您出布,电脑出石头"

echo "结果:恭喜您获胜"

elif [ $cp = 1 ]then

echo "您出布,电脑出剪刀"

echo "结果:很遗憾您输了"

else

echo "您出布,电脑出布"

echo "结果:平局"

fi

*)

echo "您的输入有误,请重新开始"

exit 1

esac

shell脚本就是一些命令的集合。

举个例子,我想实现这样的 *** 作:

1)进入到/tmp/目录;

2)列出当前目录中所有的文件名;

3)把所有当前的文件拷贝到/root/目录下;

4)删除当前目录下所有的文件。

简单的4步在shell窗口中需要你敲4次命令,按4次回车。这样是不是很麻烦?当然这4步 *** 作非常简单,如果是更加复杂的命令设置需要几十次 *** 作呢?那样的话一次一次敲键盘会很麻烦。所以不妨把所有的 *** 作都记录到一个文档中,然后去调用文档中的命令,这样一步 *** 作就可以完成。其实这个文档呢就是shell脚本了,只是这个shell脚本有它特殊的格式。《linux 就该这么学》

Shell脚本通常都是以.sh 为后缀名的,这个并不是说不带.sh这个脚本就不能执行,只是大家的一个习惯而已。所以,以后你发现了.sh为后缀的文件那么它一定会是一个shell脚本了。test.sh中第一行一定是 “#! /bin/bash” 它代表的意思是,该文件使用的是bash语法。如果不设置该行,那么你的shell脚本就不能被执行。’#’表示注释,在前面讲过的。后面跟一些该脚本的相关注释内容以及作者和创建日期或者版本等等。当然这些注释并非必须的,如果你懒的很,可以省略掉,但是笔者不建议省略。因为随着你工作时间的增加,你写的shell脚本也会越来越多,如果有一天你回头查看你写的某个脚本时,很有可能忘记该脚本是用来干什么的以及什么时候写的。所以写上注释是有必要的。另外系统管理员并非你一个,如果是其他管理员查看你的脚本,他看不懂岂不是很郁闷。该脚本再往下面则为要运行的命令了。

Linux Shell 脚本自动创建文件并修改其权限

在学习《Linux命令行与shell脚本编程大全》第三版时,每次运行书上的代码时,需要创建一个testxx.sh文件,修改其执行权限,最后再用vim来编辑。这样一个重复的过程,可以通过书中学习的知识编写一个脚本来自动解决,该脚本命名为NewTestSh。

代码如下:

fileName=test"$1".sh

echo "Create new test file: $fileName"

touch $fileName

chmod u+x $fileName

read -p "Press Enter to start to edit the file: " start

vim $fileName

完成后,将文件NewTestSh复制到目录/usr/bin下,并用命令

sudo chmod 777 /usr/bin/NewTestSh1

来修改其执行权限。如此之后,随时随地可以用脚本NewTestSh来自动创建新的名为testxx.sh的可执行文件。

用法示例:

NewTestSh 151

在当前目录下创建一个名为test15.sh的可执行文件,再次按Enter后文件将被编辑器vim打开。 

达到小小的学以致用的目的了。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/7500676.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-06
下一篇 2023-04-06

发表评论

登录后才能评论

评论列表(0条)

保存