Shell编程教程
为什么要进行shell编程
在Linux系统中,虽然有各种各样的图形化接口工具,但是sell仍然是一个非常灵活的工具。Shell不仅仅是命令的收集,而且是一门非常棒的编程语言。您可以通过使用shell使大量的任务自动化,shell特别擅长系统管理任务,尤其适合那些易用性、可维护性和便携性比效率更重要的任务。
总的来说shell有两种含义:
1 命令:是用户与系统之间的桥梁
2 语言:可以使用shell语法以及命令来进行各种小程序的编写,类似于windows下的.bat(批处理文件)
下面,让我们一起来看看shell是如何工作的:
编写一个shell需要三个步骤
A 建立shell程序
B 改变shell程序属性chmod +x shell pro
C 运行shell程序在当前路径下 ./shell pro
a建立shell脚本
Linux中有好多中不同的shell,但是通常我们使用bash (bourne again shell) 进行shell编程,因为bash是免费的并且
很容易使用。所以在本文中笔者所提供的脚本都是使用bash(但是在大多数情况下,这些脚本同样可以在bash的大,bourne shell中运行)。
如同其他语言一样,通过我们使用任意一种文字编辑器,比如nedit、kedit、emacs、vi等来编写我们的shell程序。
程序必须以下面的行开始(必须放在文件的第一行):# !/bin/bash********
# This is a sample programe
# Author:esnow
# Date:2002-03-10
符号#!用来告诉系统它后面的参数是用来执行该文件的程序。在这个例子中我们使用/bin/bash来执行程序。
b 改变shell脚本属性
当编辑好脚本时,如果要执行该脚本,还必须使其可执行。
要使脚本可执行:
chmod +x filename
c运行shell脚本
然后,您可以通过输入: ./filename 来执行您的脚本。
注释
程序的规范性
在进行shell编程时,以#开头的句子表示注释,直到这一行的结束。我们真诚地建议您在程序中使用注释。如果您使用了注释,那么即使相当长的时间内没有使用该脚本,您也能在很短的时间内明白该脚
本的作用及工作原理。
变量
有三种使用方法
A.直接在程序中写入
B.根据执行shell脚本的时候传递变量
C.运行脚本,等待用户输入
A
1 赋值
在其他编程语言中您必须使用变量。在shell编程中,所有的变量都由字符串组成,并且您不需要对变量进行声明。要赋值给一个变量,您可以这样写:
变量名=值
2 调用
取出变量值可以加一个美元符号($)在变量前面:
#!/bin/bash
#对变量赋值:
a="hello world"
# 现在打印变量a的内容:
echo "A is:"
echo $a
在您的编辑器中输入以上内容,然后将其保存为一个文件first。之后执行chmod +x first
使其可执行,最后输入./first执行该脚本。
这个脚本将会输出:
A is:
hello worldshell创建文件并写入内容
有时候变量名很容易与其他文字混淆,比如:
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
有许多变量是系统自动设定的,这将在后面使用这些变量时进行讨论。
B ./shellpro A B C
这个时候想显示A B C的内容可以使用
$1 $2 $3 ($1=A,$2=B,$3=C)
$* 表示传递的所有参数
$# 表示传递的参数数量
$0 表示shell脚本的名
编辑
[root@www home]# vi par
echo "echo par"
echo $1
echo $2
echo $3
echo "\$0 is $0"
echo "par num is $#"
更改属性
chmod +x par
运行
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论