admin 管理员组

文章数量: 1184232


2024年3月19日发(作者:数据库数据恢复哪家好)

为什么要进行

shell

编程

  

Linux

系统中虽然有各种各样的图形界面工具,但

shell

仍然是一个非常灵活的工具。

Shell

不仅集合了大量命令,还是一门非常棒的编程语言。借助

shell

,大量任务能实现自

动化;

shell

特别擅长系统管理任务,尤其适合那些易用性、可维护性和便携性比效率更重

要的任务。

  下面,让我们一起来看看

shell

是如何工作的:

建立一个脚本

  

Linux

中有许多种不同的

shell

,通常我们使用

bash (bourne again shell)

进行

shell

编程

因为

bash

不仅免费(自由)且易于使用。本文提供的脚本都用

bash

(当然大多数情况下,

这些脚本同样可以在

bash

的前辈,

bourne shell

中运行)执行。

kedit

emacs

vi

  如同其他语言一样,我们可以使用任意一种文字编辑器,比如

nedit

等来编写

shell

脚本,它必须以如下行开始(必须放在文件的第一行):

代码

:

#!/bin/bash

  符号

#!

用来告诉系统执行该脚本的程序,本例使用

/bin/sh

。编辑完了,如果要执行该

脚本,还必须使其可执行:

代码

:

chmod +x filename

  这样输入

./filename

便可执行该脚本。

注释

  

shell

脚本中以

#

开始的行表示注释,直到一行的结束。我们真诚的建议你在脚本中使

用注释,这样即便在相当长时间内没有使用该脚本,你也能在短时间内明白该脚本的作

用和工作原理;此外还有很重要的原因——有了注释,更利于和别人分享你的脚本。

变量

shell

编程中,所有变量都由字符串组成,并且  在其它编程语言中,你必须使用变量。

不需要声明。要给一个变量赋值,你可以这么写:

代码

:

变量名

=

  在变量名之前加一个

$

,就可以取出变量值:

代码

:

#!/bin/sh

#

对变量赋值:

a="hello world"

#

打印变量

a

的值:

echo "A is:" $a

  挑个自己喜欢的编辑器,输入以上内容,并保存为文件

first

,然后执行

chmod +x

first

使其可执行,最后输入

./first

执行该脚本。其输出结果如下:

引用

:

A is: hello world

  有时候变量名可能会和其它文字混淆,比如:

代码

:

num=2

echo "this is the $numnd"

  上述脚本并不会输出

"this is the 2nd"

,只会打印

"this is the "

;这是由于

shell

会去搜索

变量

numnd

的值,而实际上这个变量此时并没有值。可以使用花括号来告诉

shell

我们要

打印的是

num

变量:

代码

:

num=2

echo "this is the ${num}nd"

  上述脚本的输出结果为:

this is the 2nd

  有许多变量是系统自动设定的,在后面用到这些变量时我们再作说明。如果你需要处

理数学表达式,那么得借助诸如

expr

的程序。

  除了仅在脚本内有效的普通

shell

变量外,还有环境变量,即那些由

export

关键字处

理过的变量。本文不讨论环境变量,因为一般只在登录脚本中使用环境变量。


本文标签: 脚本 变量 使用 执行 文字