天天看点

【SHELL 编程基础第一部分】第一个SHELL脚本HELLOSHELL及一些简单的SHELL基础书写与概念;

对于shell脚本的编写,可以使用任何文本编辑器,利用常用的文本编辑器、ultraedit、editplus、gedit等都可以!

对于shell脚本的书写,约定俗成,第一行必须如下所示:(务必放在文件的第一行)

1

2

#!/bin/sh

...

符号#!用来告诉系统执行该脚本的程序,这里使用/bin/sh。编辑结束并保存;这里最好使用“!/bin/bash”而不是“!/bin/sh”,如果使用tc shell改为tcsh,其他类似。

如果要执行该脚本,必须先使用chmod命令打开脚本的执行权限,如下:

chmod +x yourscriptname

注释:    在进行shell编程时,以 # 开头的句子表示注释;

      变量:    在其他编程语言中你必须使用变量。在shell编程中,所有的变量都由字符串组成,并且大家不需要对变量进行声明;当你要赋值给一个变量,首先熟悉如下知识;

1.需要给变量赋值时,可以这么写:   变量名=值 

1-1.  首个字符必须为字母(a-z,a-z)

1-2 中间不能有空格,可以使用下划线(_)

1-3 不能使用标点符号

1-4 不能使用bash里的关键字(可用help命令查看保留关键字)

           2. 要取用一个变量的值,只需在变量名前面加一个$ ( 注意: 给变量赋值的时候,不能在”=”两边留空格 )

3.  echo 输出(打印)

ok,书写第一个完整shell脚本:

3

4

5

6

#对变量赋值:

himi="helloshell"  #等号两边均不能有空格存在

# 现在打印变量a的内容:

echo "a is:"

echo $himi

ok,终端命令&输出如下:

last login: sat apr 14 14:16:13 on ttys000

mac:~ himi$ cd /users/himi/desktop/

mac:desktop himi$ chmod +x himi

mac:desktop himi$ ./himi

a is:

helloshell

mac:desktop himi$

需要大家注意的是有时候变量名可能会和其它文字混淆,比如: 

himi=”test” #等号两边均不能有空格存在

echo $himi a

echo “a $himi”

#注意混淆

echo “a $himi_ok”

#正确写法:

echo “a ${himi}_ok”

终端执行&打印:

7

test

test a

a test

a

a test_ok

童鞋们可以看到《 echo “a $himi_ok” 》这里没有正常打印出来,这是由于shell会去搜索变量himi_ok的值,而实际上这个变量此时并没有值。这时,我们可以用花括号来告诉shell要打印的是himi变量;

还需要注意shell的默认赋值是字符串赋值。比如:  

#字符串赋值:

_int=19

_tot=$_int+89

echo $_tot

打印的_tot不是108 !而是 19+89 !出现此的原因就是因为shell默认是字符串赋值,应该需要计算应该先熟悉如下几个知识:

let   表示数学运算

    $[]   表示将中括号内的表达式作为数学运算先计算结果再输出。

expr   用于整数值运算,每一项用空格隔开

上面前两种方式在bash下有效,在sh下会出错。

ok,知道这些就可以重新将刚才的脚本改写成如下形式:

_tot=$[$_int+89]

3种形式输出的结果都是 108 ;

将到这里就不得不说下shell的算术运算仂,对于shell种的运算中,大家需要知道:

c shell只支持整数的运算;

运算符如下图所示:

【SHELL 编程基础第一部分】第一个SHELL脚本HELLOSHELL及一些简单的SHELL基础书写与概念;

简单写几个运算:

【SHELL 编程基础第一部分】第一个SHELL脚本HELLOSHELL及一些简单的SHELL基础书写与概念;

注意:

1.运算符两侧都必须有空格!!

2.c shell不支持浮点运算符(ps.如果您想要执行更加复杂的数学运算,可用unix的实用程序bc和nawk)