Shell编程
可以使用任意一种文字编辑器,比如gedit、kedit、emacs、vi等来编写shell脚本,但是程序必须以下面的行开始
-
开头:#!/bin/bash
#!符号用来告诉系统,它后面的参数是用来执行该文件的程序,在这个例子中使用bash来执行程序。编辑完该文件后,不能立即执行它,需要给文件设置可执行程序权限,使用如下命令:chmod +x filename
这样才能用./filename来运行
(将文件保存为.sh文件) -
执行:(例如执行date)
方法1:./ date.sh
方法2 :bash date.sh
方法3:第一步 export PATH= /home/Linux/Shell:$PATH(将/home/Linux/Shell目录添加到整个环境变量中,在任何目录都能执行shell所编写的程序)
第二步 ./ date.sh -
注释:#开头表示本行注释
-
变量:在shell中所有变量都由字符串组成
(1)用户自定义变量:首个字符必须为字母或是下划线。中间不能有空格,可以使用下划线,不能使用其他标点符号
(2)位置参数:由系统提供的参数称为位置参数。位置参数的值可以用$N得到,N是一个数字,如果为1,即$1。类似于C语言中的数组,Linux会把输入的命令字符串分段并给每段标号,标号从0开始,第0号为程序名字,从1开始就表示传递给程序的参数。
$0:程序的名字
$1:第一个参数
(3)预定义变量:shell一开始就定义了变量,用户只能根据shell的定义来使用这些变量,不能重定义它。
$#:包含命令行参数的个数
$@:包含所有命令行参数就是所有的参数。
$?:包含前一个命令的退出状态,正常退出返回0,反之非0
$*:包含所有命令行参数就是所有的参数。
$$:包含正在执行进程的id号
(4)环境变量:用于用户进程之前必须用export命令导出。 -
写一个最简单shell脚本过程:
-
shell程序和语句
一个shell程序有零或多条shell语句构成。shell语句包括三类,说明性语句、功能性语句和结构性语句。
说明性语句:即注释行。
功能性语句:赋值、运算、测试等。
结构性语句:主要根据程序的运行状态、输入数据、变量的取值、控制信号以及运行时间等因素来控制程序的运行流程。
主要包括:条件测试语句、多路分支语句、循环语句、循环控制语句等。 -
shell函数
举例:两数相加的函数
fun1.sh内容:
转载:https://blog.csdn.net/LJ511100/article/details/106033758