[Shell]Tetris Game】的更多相关文章

这篇文章主要介绍Shell脚本编写俄罗斯方块的方法,原文来自脚本之家,http://www.jb51.net/article/48926.htm 效果图: 代码: #!/bin/bash # Tetris Game # xhchen<[email]xhchen@winbond.com.tw[/email]> #APP declaration APP_NAME="${0##*[\\/]}" APP_VERSION="1.0" #颜色定义 cRed= cGr…
本代码来源于网络: 文件下载地址:http://files.cnblogs.com/files/DreamDrive/Tetris.sh #!/bin/bash # Tetris Game # 10.21.2003 xhchen<[email]xhchen@winbond.com.tw[/email]> #APP declaration APP_NAME="${0##*[\\/]}" APP_VERSION="1.0" #颜色定义 cRed=1 cGre…
亲自测试了一个大牛写的shell脚本,感兴趣可以看看,效果如下:…
http://bbs.chinaunix.net/thread-3580033-1-1.html shell游戏收集贴 #!/bin/bash # Tetris Game #APP declaration APP_NAME="${0##*[\\/]}" APP_VERSION="1.0" #颜色定义 cRed= cGreen= cYellow= cBlue= cFuchsia= cCyan= cWhite= colorTable=($cRed $cGreen $cY…
shell函数与数组 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.为什么要使用shell函数 简单的说函数的作用就是把程序里多次调用的相同的代码部分定义成一份,然后起个名字,所有的调用都只用这个名字就可以了.修改代码时,只需要改变函数体内的代码即可 a>.把相同的代码定义成函数,可以减少程序代码量: b>.增加程序的可读,易读性: c>.实现程序的功能模块化: 二.shell语法格式 function 函数名() { 源代码 return } 三.shell函数…
亲测一个很好玩的shell脚本写的俄罗斯方块游戏,脚本来自互联网 先来讲一下思维流程 一.方块的表示 由于shell不能定义二维数组,所以只能用一维数组表示方块,俄罗斯方块主要可以分为7类,每一类方块都是由四类小方块构成,表示方法如下. Box=(x1,y1,x2,y2,x3,y3,x4,y4,x,y) xi.yi是各个小方块在俄罗斯方块表示区域中的坐标,最后的两个,x.y是在方块出现时,该表示区域相对于棋盘的坐标,7类方块的表示如下: 二.相关函数定义 1.两个主要函数 RunAsDispla…
网上看到的一个用linux的shell脚本写的俄罗斯方块. 是我至今见过写的最牛逼的shell了.共享一下. 原作者信息在脚本的凝视中有. 下载地址:点击下载 #!/bin/bash # Tetris Game # 10.21.2003 xhchen<[email]xhchen@winbond.com.tw[/email]> #APP declaration APP_NAME="${0##*[\\/]}" APP_VERSION="1.0" #颜色定义…
SHELL脚本编程基础知识 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. Linux之父Linus有一句话很经典:"Talk is cheap, show me the code",虽然我们是一枚小小的运维工程师,但工作中确实是有一些任务是需要写成脚本方式来实现的.在招聘面试过程中,要求运维人员会shell编程是必须的,甚至有的公司得要求运维会Java,Python或者Golang. 一.编程基础概念 1>.程序相关概念 程序: 算法+数据结构 数据: 是程序…
如果表达式中包含特殊字符,Shell 将会进行替换.例如,在双引号中使用变量就是一种替换,转义字符也是一种替换. #!/bin/bash a= echo -e "Value of a is $a \n" 结果: Value of a is 这里 -e 表示对转义字符进行替换.如果不使用 -e 选项,将会原样输出: Value of a is \n 下面的转义字符都可以用在 echo 中: 转义字符 含义 \\ 反斜杠 \a 警报,响铃 \b 退格(删除键) \f 换页(FF),将当前位…
$ 表示当前Shell进程的ID,即pid $echo $$ 运行结果 特殊变量列表 变量 含义 $0 当前脚本的文件名 $n 传递给脚本或函数的参数.n 是一个数字,表示第几个参数.例如,第一个参数是$1,第二个参数是$2. $# 传递给脚本或函数的参数个数. $* 传递给脚本或函数的所有参数. $@ 传递给脚本或函数的所有参数.被双引号(" ")包含时,与 $* 稍有不同,下面将会讲到. $? 上个命令的退出状态,或函数的返回值. $$ 当前Shell进程ID.对于 Shell 脚…
定义变量 定义变量时,变量名不加美元符号($),如: variableName="value" 注意,变量名和等号之间不能有空格,这可能和你熟悉的所有编程语言都不一样.同时,变量名的命名须遵循如下规则: 首个字符必须为字母(a-z,A-Z). 中间不能有空格,可以使用下划线(_). 不能使用bash里的关键字(可用help命令查看保留关键字). 使用变量 使用一个定义过的变量,只要在变量名前面加美元符号($)即可,如: your_name="mozhiyan" ec…
打开文本编辑器,新建一个文件,扩展名为sh(sh代表shell),扩展名并不影响脚本执行,见名知意就好. #!/bin/bash echo "Hello World !" "#!" 是一个约定的标记,它告诉系统这个脚本需要什么解释器来执行,即使用哪一种Shell. 作为可执行程序 将上面的代码保存为test.sh,并cd 到相应目录: chmod +x ./test.sh #使脚本具有执行权限 ./test.sh #执行脚本 注意,一定要写成./test.sh,而不…
Shell作为命令语言,它交互式地解释和执行用户输入的命令:作为程序设计语言,它定义了各种变量和参数,并提供了许多在高级语言中才具有的控制结构,包括循环和分支. shell使用的熟练程度反映了用户对Unix/Linux使用的熟练程度. Shell是一种脚本语言,那么,就必须有解释器来执行这些脚本.Unix/Linux上常见的Shell脚本解释器有bash.sh.csh.ksh等,习惯上把它们称作一种Shell.我们常说有多少种Shell,其实说的是Shell脚本解释器. bash bash是Li…
1. 字符串如何大小写转换 str="This is a Bash Shell script." 1> tr方式 newstr=`tr '[A-Z]' '[a-z]' <<<"$str"`或者 newstr=$(echo $str |tr '[a-z]' '[A-Z]') 2> typeset typeset -u VARIABLE (把VARIABLE的小写转换成大写) typeset -l VARIABLE (把VARIABLE的大…
数据类型 MongoDB在保留JSON基本键/值对特性的基础上,添加了其他一些数据类型. null null用于表示空值或者不存在的字段:{“x”:null} 布尔型 布尔类型有两个值true和false {“x”:true} 数值 shell默认使用64位浮点型数值. {“x”:} 对于整型值,可使用NumberInt类(表示4字节带符号整数)或NumberLong类(表示8字符带符号整数) {“x”:NumberInt(””)} {“x”:NumberLong(“3”)} 字符串 utf-8…
在这个逼格决定人格,鄙视链盛行的年头,尤其是咱们IT界,请问您今天鄙视与被鄙视的次数分别是多少?如果手中没有一点压箱的本事,那就只有看的份了.今天我们也要提升下自己的格调,学习些脑洞大开的东西,学完之后跑去群子了威吓其他群友,不就是个玩嘛,走着~~! 说起Linux中的脚本,毋庸置疑,用得最多的肯定是Shell脚本,其他的还有Python.Ruby等,估计根本没有人会想到其实C#也可以.说起C#,那可是尚方宝剑版存在,它上可写操作系统(CosmosOS.SharpOS等)下可写应用系统,桌面程序…
shell和vim中乱码原因及消除办法 作者:Jack47 在Linux下开发,经常遇到乱码问题:shell或者vim中显示不了中文,或者能够显示,但不能输入中文.每次都是上网去搜,或者同事告诉我一些命令来解决的.一直没有理解为什么会出乱码,本文就是想认真分析乱码问题的原因并找到解决之道.希望本文能够解决像我这样的菜鸟在Linux下shell和vim中遇到的乱码问题.读者们如果读完这篇文章后还是一头雾水,也不要着急[文章角度不同,不同的人的理解程度也不同],可以多看看类似的文章[文末的参考资料]…
背景: 工作中有两个异地机房需要传数据,数据全名很规范,在某个目录下命名为统一的前缀加上编号.如/path/from/file.{1..100}.而机房间的专线对单个scp进程的传输速度是有限制的,比如最大在100Mb/s,如果直接启动100个scp,则又会遇到ssh的并发连接数限制. 所以需要控制并发数,即不超过ssh的并发限制,又要让单网卡上的带宽接近饱和,尽快完成传输(假设专线带宽远大于单机网卡带宽) 实现 之前知道通过mkfifo创建一个命名管道,可以实现对并发的控制.现在来实现一个.…
开始还以为是这样的语法: sleep(1), 后面发现是: linux shell 中的sleep命令 分类: LINUX 在有的shell(比如linux中的bash)中sleep还支持睡眠(分,小时) sleep 1 睡眠1秒 sleep 1s 睡眠1秒 sleep 1m 睡眠1分 sleep 1h 睡眠1小时 linux shell 真奇怪... 其实linux shell 也有函数的概念…
2016-11-17 直接输入脚本名执行 ./script #!/bin/bash# /root/shell/001 # 2016-11-17 test for script running name="ahau-2015" echo ${name} 此种执行方式下,其实script是在子进程的bash内进行的. 我们需要知道:当子进程执行完成后,子进程内的各项变量或操作都不会传回到父进程中,这就是说,我在子进程里定义的变量等在父进程里是不起作用的,即使是在script里声明了一个环境…
hadoop支持命令行操作HDFS文件系统,并且支持shell-like命令与HDFS文件系统交互,对于大多数程序猿/媛来说,shell-like命令行操作都是比较熟悉的,其实这也是Hadoop的极大便利之一,至少对于想熟悉乃至尽快熟练操作HDFS的人来说. 由于平时在工作中经常用到Hadoop Shell命令来操作HDFS上的文件,有时候因为Hadoop Shell命令不熟悉,需要重新查找:或者需要某个命令的参数:再或者需要知晓相似命令的差异:于是便有了本文,对于Hadoop Shell命令的…
shell脚本规划化模板 Linux运维过程中,shell脚本是不可缺少的工具,但是每个运维人员编程的习惯都不一样,很多时候就是实现某个功能,写出来的脚本都是烂七八糟的.脚本必须规范化,应该从以后几个方面着手: 1.脚本必须记录日志,尽可能多的把执行命令操作写入日志当中,有便于日后可以追踪: 2.脚本尽可能实现函数化模块化,函数名具有可读性: 3.脚本必须要有传入参数: 4.脚本执行必须是单进程的,即该脚本某个时间段只能运行一次: 5.脚本执行过程中必须加锁机制: 6.脚本注释是不可缺少的: 7…
Shell脚本编程30分钟入门 转载地址: Shell脚本编程30分钟入门 什么是Shell脚本 示例 看个例子吧: #!/bin/sh cd ~ mkdir shell_tut cd shell_tut for ((i=0; i<10; i++)); do touch test_$i.txt done 示例解释 第1行:指定脚本解释器,这里是用/bin/sh做解释器的 第2行:切换到当前用户的home目录 第3行:创建一个目录shell_tut 第4行:切换到shell_tut目录 第5行:循…
shell:俗称操作系统的"外壳",就是命令解释程序.     是用户与Linux内核之间的接口.     是负责与用户交互,分析.执行用户输入的命令,并给出结果或出错提示.     每个用户账号创建时都会指定一个shell.当用户使用该账号注册成功,便会马上执行.     root账号的shell提示符是#号.   shell种类: ash:占用资源最少的shell. bash:默认使用,内部命令一共用40个. ksh:共42条内部命令,与商业版ksh完全兼容. csh:linux较…
[前言:在乌云社区看到反弹shell的几种姿势,看过之余自己还收集了一些,动手试了下,仅供参考] 0x01 Bash bash -i >& /dev/tcp/ >& 这里shell由bash解析,有时候是由sh解析,不一定百发百中***在虚拟机里面试过可行,替换成自己的地址和端口即可******/dev/[tcp|upd]/host/port是Linux设备里面比较特殊的文件,读取或写入相当于建立socket调用******由于其特殊性,命令执行后依旧无法找到/dev/tcp目…
shell程序介绍 1.查看我们的Linux(centos6.5为例)有多少我们可以使用的shell: [root@localhost bin]# cat /etc/shells /bin/sh /bin/bash /sbin/nologin /bin/dash /bin/tcsh /bin/csh 系统某些服务在运作过程中,会去检查使用者能够使用的shells,而这些shell的查询就是由/etc/shells这个档案. 2.当我们登入Linux系统的时候,系统就会给我一个shell来工作,而…
今天总结一下linux shell中逻辑关机表达方式.逻辑与的表达: 1).if [ $xxx=a -a $xx=b ] 注:-a表示and的意思 2).if [ $xxx=a ] && [  $xx=b ] eg: #! /bin/bash webapps_dir='/var/log/webapps' webapps_owner=`ls -l /var/log|grep 'webapps$'|awk '{print $3}'` webapps_group=`ls -l /var/log|…
比较两个字符串是否相等的办法是: if [ "$test"x = "test"x ]; then这里的关键有几点:1 使用单个等号2 注意到等号两边各有一个空格:这是unix shell的要求3 注意到"$test"x最后的x,这是特意安排的,因为当$test为空的时候,上面的表达式就变成了x = testx,显然是不相等的.而如果没有这个x,表达式就会报错:[: =: unary operator expected 二元比较操作符,比较变量或者…
在写程序时,会用到条件判断,测试条件是否成立.很多时候,判断条件是多个的,这个时候需要用到逻辑操作符.shell脚本中常用的有哪些逻辑操作符呢? 1.逻辑与: -a 格式: conditon1 -a condition2 结果:codition1和conditon2 都为真,才返回真,否则返回假. 演示:测试可执行文件lnmp [root@localhost ~]# [ -x lnmp -a -f lnmp ]   #lmmp是可执行且是文件 结果返回真 [root@localhost ~]# …
Linux shell脚本编程 流程控制: 循环语句:for,while,until while循环: while CONDITION; do 循环体 done 进入条件:当CONDITION为“真”: 退出条件:当CONDITION为“假”: while CONDITION; do 循环体 控制变量的修正表达式 done 示例:求100以内所有正整数之和; #!/bin/bash # declare -i sum=0 declare -i i=1 while [ $i -le 100 ]; d…