您的位置:首页 > 运维架构 > Shell

shell编程第一个helloWorld小程序

2017-03-27 00:00 274 查看

1.编写我的第一个shell脚本小程序:

[root@wenhaijin /]# mkdir shell
[root@wenhaijin /]# cd shell/
[root@wenhaijin shell]# vim helloworld.sh
#!/bin/bash
#my first shell project

echo "Hello World"
~
~
~
~
"helloworld.sh" [New] 4L, 56C written

注意:

1.#!/bin/bash标志着以下内容是shell脚本(该行不是注释,这是固定写法)
2.#my first shell project是注释

3.echo "Hello World"是脚本的内容,注意不要加“!”,!在脚本中有特殊含义,如果要加“!”就写成echo 'Hello World!'

2.shell脚本的执行

2.1 使用bash命令执行(不常用)

[root@wenhaijin shell]# bash helloworld.sh
Hello World
[root@wenhaijin shell]#


2.2 赋予执行权限,直接运行(一般都是通过这种方式执行)

[root@wenhaijin shell]# chmod 755 helloworld.sh
[root@wenhaijin shell]# ./helloworld.sh
Hello World
[root@wenhaijin shell]#


3.将dos环境下的脚本转化为linx环境下的脚本

为什么要将dos下的脚本转化为linux中的脚本呢,因为dos环境和linux环境对一些隐藏字符的处理方式不一样,比如linux中的回车使用$符号表示的

### cat -A 表示查看详细信息,包括隐藏字符,这边的$实际上代表的就是linux中的回车
[root@wenhaijin shell]# cat -A helloworld.sh
#!/bin/bash$
#my first shell project$
$
echo "Hello World"$

而在dos环境中,回车是用^M$表示,linux并不认识

[root@wenhaijin shell]# unix2dos helloworld.sh
unix2dos: converting file helloworld.sh to DOS format ...
[root@wenhaijin shell]# cat -A helloworld.sh
#!/bin/bash^M$
#my first shell project^M$
^M$
echo "Hello World"^M$

[root@wenhaijin shell]# ./helloworld.sh
-bash: ./helloworld.sh: /bin/bash^M: bad interpreter: No such file or directory
[root@wenhaijin shell]#

若linux系统中还没有dos2unix命令,可通过yum或者rpm包进行安装

[root@wenhaijin shell]# yum -y install dos2unix
Loaded plugins: security
base                                                     | 3.7 kB     00:00
epel                                                     | 4.3 kB     00:00
epel/primary_db                                          | 5.9 MB     00:01
extras                                                   | 3.4 kB     00:00
extras/primary_db                                        |  37 kB     00:00
updates                                                  | 3.4 kB     00:00
updates/primary_db                                       | 5.4 MB     00:00
Setting up Install Process
Resolving Dependencies
--> Running transaction check
---> Package dos2unix.x86_64 0:3.1-37.el6 will be installed
--> Finished Dependency Resolution

Dependencies Resolved

================================================================================
Package            Arch             Version               Repository      Size
================================================================================
Installing:
dos2unix           x86_64           3.1-37.el6            base            16 k

Transaction Summary
================================================================================
Install       1 Package(s)

Total download size: 16 k
Installed size: 18 k
Downloading Packages:
dos2unix-3.1-37.el6.x86_64.rpm                           |  16 kB     00:00
Running rpm_check_debug
Running Transaction Test
Transaction Test Succeeded
Running Transaction
Installing : dos2unix-3.1-37.el6.x86_64                                   1/1
Verifying  : dos2unix-3.1-37.el6.x86_64                                   1/1

Installed:
dos2unix.x86_64 0:3.1-37.el6

Complete!

然后执行dos2unix命令将脚本转化为linux环境下的兼容脚本

[root@wenhaijin shell]# dos2unix helloworld.sh
dos2unix: converting file helloworld.sh to UNIX format ...
[root@wenhaijin shell]# ./helloworld.sh
Hello World
[root@wenhaijin shell]#


4.知识拓展,执行一个shell脚本实现俄罗斯方块的小例子

[root@wenhaijin shell]# chmod 755 Tetris.sh
[root@wenhaijin shell]# ./Tetris.sh




这个小游戏的下载地址:http://pan.baidu.com/s/1c1Npu4g
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  shell helloworld