13Shell脚本—编写简单脚本

Posted rock-cc

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了13Shell脚本—编写简单脚本相关的知识,希望对你有一定的参考价值。

1. 概述

Shell脚本命令的工作方式有两种:交互式和批处理。

交互式(Interrctive): 用户每输入一条命令就立即执行。

批处理(Batch): 由用户事先编写好一个完整的 Shell 脚本, Shell 会一次性执行脚本中诸多的命令。

Shell脚本文件的名称可以任意。但为了避免被误以为是普通文件,建议将 .sh 后缀加上,以表示是一个脚本文件。

2. 第一个简单的shell脚本

[[email protected] 0614]# vi example.sh
#!/bin/bash
#For example by rock
pwd
ls -l
#第一种执行方法   bash 脚本文件名及其参数 或者 sh 脚本文件名及其参数
[[email protected] 0614]# bash example.sh
/home/hk/0614
total 20
-rw-r--r--. 1 root root   65 Jun 14 17:32 aaa.txt
-rw-r--r--. 1 root root    0 Jun 14 16:17 abc.txt
-rw-r--r--. 1 root root    0 Jun 14 16:23 bbb.txt
-rw-r--r--. 1 root root    0 Jun 14 16:27 ccc.txt
-rw-r--r--. 1 root root   43 Jun 14 17:51 example.sh
-rw-rw-r--. 1 hk   hk   4731 Jun 14 09:10 openman.txt
-rw-rw-r--. 1 hk   hk     22 Jun 14 09:11 practice.txt
#第二种执行方法   先让Shell文件权限加上可执行,然后直接运行
[[email protected] 0614]# chmod u+x example.sh
[[email protected] 0614]# ./example.sh
/home/hk/0614
total 20
-rw-r--r--. 1 root root   65 Jun 14 17:32 aaa.txt
-rw-r--r--. 1 root root    0 Jun 14 16:17 abc.txt
-rw-r--r--. 1 root root    0 Jun 14 16:23 bbb.txt
-rw-r--r--. 1 root root    0 Jun 14 16:27 ccc.txt
-rwxr--r--. 1 root root   43 Jun 14 17:51 example.sh
-rw-rw-r--. 1 hk   hk   4731 Jun 14 09:10 openman.txt
-rw-rw-r--. 1 hk   hk     22 Jun 14 09:11 practice.txt
#第三种方法  source 脚本文件名及其参数 或者 . 脚本文件名及其参数
[[email protected] 0614]# source example.sh
/home/hk/0614
total 20
-rw-r--r--. 1 root root   65 Jun 14 17:32 aaa.txt
-rw-r--r--. 1 root root    0 Jun 14 16:17 abc.txt
-rw-r--r--. 1 root root    0 Jun 14 16:23 bbb.txt
-rw-r--r--. 1 root root    0 Jun 14 16:27 ccc.txt
-rw-r--r--. 1 root root   43 Jun 14 17:51 example.sh
-rw-rw-r--. 1 hk   hk   4731 Jun 14 09:10 openman.txt
-rw-rw-r--. 1 hk   hk     22 Jun 14 09:11 practice.txt

3. 可以接受用户参数的脚本文件

Shell内置可用于接受参数的变量,变量之间可以使用空格间隔。

$0      当前shell脚本程序的名称
$#      总共有几个参数
$*      所有位置的参数值
$?      显示上一次命令执行的返回值
$1      第一个位置的参数值
$N      第N个位置的参数值
[[email protected] 0615]# cat example.sh
#!/bin/bash
echo "当前脚本名称为$0"
echo "总共有$#个参数,分别是$*。"
echo "第1个参数为$1, 第二个参数为$2。"

[[email protected] 0615]# sh example.sh one two three four five six
当前脚本名称为example.sh
总共有6个参数,分别是one two three four five six。
第1个参数为one, 第二个参数为two。

以上是关于13Shell脚本—编写简单脚本的主要内容,如果未能解决你的问题,请参考以下文章

shell脚本显示0,1,1,2,3,5,8,13

代码片段:Shell脚本实现重复执行和多进程

编写SHELL脚本--编写简单脚本

编写简单的Shell脚本

Liunx----Shell脚本简单介绍 Shell运行环境和Shell变量

编写简单的shell脚本用于方便管理防火墙