shell脚本编程基础-构建基本脚本

1、在创建shell脚本时,必须在文件的第一行指定要使用的shell,格式如下:

#!/bin/shell

通常#用来注释,但第一行是一个例外

2、运行脚本有两种方法

(1)将shell脚本文件所处目录添加到path环境变量中;

(2)在提示符中用绝对路径或者相对路径来应用shell脚本文件。

另外创建好了的shell脚本,需要有执行权限,否则也运行不了。

3、显示消息

用echo 后面跟字符串,该命令就能显示出这个文本字符串了

例 echo this is a test

在echo中出现了引号,需要在文本中用一种引号,然后用另外一种将字符串划定起来

4、使用变量

(1)环境变量

在环境变量前面加上$来使用这些环境变量。

echo HOME:$HOME

(2)用户变量

用户变量由字符串、下划线和数字组成,长度不超过20个,区分大小写。

引用一个变量值时需要用$。

5、命令替换

有两种方法可以将命令输出结果赋给变量

(1)反引号字符

testing=·date·

(2)$()格式

testing=$(date)

6、重定向输入和输出

(1)输出重定向

最基本的重定向将命令输出结果发送到一个文件中。bash shell 用>来完成这项功能

command > outputfile

date > test

重定向操作符会用新的文件数据覆盖已有文件,如果不想覆盖,想要追加到文件后面,可以用双大于号>>来追加数据

date >>test

(2)输入重定向

输入重定向的符号是小于号<,输入重定向将文件的内容重定向到命令

command < inputfile

wc < test

这里介绍一下wc命令,wc命令可以对数据中的文本进行技术,默认情况下它会输出三个值,文本的行数、文本的次数和文本的字节数。

内联输入重定向:使用<<,必须制定一个文本标记来划分输入数据的开始和结尾。任何字符串都可作为文本标记,但在数据的开始和接吻文本标记必须一致。

格式如下:

command << marker

data

marker

实例:

wc << EOF

nnnnn

nnnn

nn

EOF

7、管道

将一个命令的输出作为另一个命令的输入,可以用重定向来实现,但是有些笨拙,管道连接可以很方便实现

command1 | command2

Linux系统实际上会同时运行这两个命令,在系统内部将他们连接起来。在第一个命令产生输出的同时,输出会被立即送到第二个命令。数据传输不会用到任何中间文件或缓冲区

例  rmp -qa | sort | more

8、执行数学运算

expr命令允许在命令行上处理数学表达式,expr 1 + 5

9、使用方括号

在bash中,在将一个数学运算结果赋给某个变量是,可以用美元符和方括号($[operation])将表达式围起来

var1=$[expr 1 + 5]

原文地址:https://www.cnblogs.com/aining/p/13301066.html