Shell教程-测试命令

【实验目的】

了解Linux系统Shell编程-测试命令。

【实验原理】

test命令可以用于检查某个条件是否成立,可以分为数值、字符串、文件、变量四个方面,其中文件的测试包括文件类型、文件权限的判断和两个文件之间的比较。

【实验环境】

Linux Ubuntu 16.04

【实验内容】

1.了解shell编程

2.编写shell脚本

【实验步骤】

1、数值测试

Linux||Linux操作之Shell编程-测试命令和函数使用(Ubuntu 16.04)_vim

eg:创建一个sh文件

sudo vim tom1.sh

脚本内容如下所示:

#!/bin/bash  
a=100  
b=100  
if test $[a] -eq $[b]  
then  
     echo '两个数相等!'  
 else  
    echo '两个数不相等!'  
fi

Linux||Linux操作之Shell编程-测试命令和函数使用(Ubuntu 16.04)_Shell_02

输出结果:

Linux||Linux操作之Shell编程-测试命令和函数使用(Ubuntu 16.04)_Linux_03

2、字符串测试

Linux||Linux操作之Shell编程-测试命令和函数使用(Ubuntu 16.04)_bash_04

eg:创建一个sh脚本:

sudo vim tom2.sh

脚本内容如下所示:


num1="sccess"  
num2="sccess1"  
if test num2  then  
    echo '两个字符串相等!'  
 else  
    echo '两个字符串不相等!'  
fi

Linux||Linux操作之Shell编程-测试命令和函数使用(Ubuntu 16.04)_vim_05

输出结果:

Linux||Linux操作之Shell编程-测试命令和函数使用(Ubuntu 16.04)_Shell_06

3、文件测试

Linux||Linux操作之Shell编程-测试命令和函数使用(Ubuntu 16.04)_vim_07

eg:创建一个sh脚本

sudo vim tom3.sh

脚本内容如下所示:

cd /bin  
if test -e ./bash  
then  
    echo '文件已存在!'  
else  
     echo '文件不存在!'  
fi

Linux||Linux操作之Shell编程-测试命令和函数使用(Ubuntu 16.04)_Ubuntu_08

输出结果如下:

Linux||Linux操作之Shell编程-测试命令和函数使用(Ubuntu 16.04)_vim_09


Shell教程-函数

【实验目的】

了解Linux系统Shell编程中的函数使用。

【实验原理】

Shell中函数的定义格式如下:

[ function ] funname [()]  
{  
    action;  
    [return int;]  
}

说明:

1、可以带function fun() 定义,也可以直接fun() 定义,不带任何参数。

2、参数返回,可以显示加:return 返回,如果不加,将以最后一条命令运行结果,作为返回值。

【实验环境】

Linux Ubuntu 16.04

【实验内容】

编写shell脚本练习shell中函数的使用。

【实验步骤】

1.使用VIM编辑器编辑test3.sh。
vim test3.sh

脚本内容如下:

#!/bin/bash  
demo(){  
     echo "This is my first function."  
 }  
 echo "-----Function starts execution-----"  
 demo  
 echo "-----Function Execution Completed-----"

Linux||Linux操作之Shell编程-测试命令和函数使用(Ubuntu 16.04)_Ubuntu_10

2.使用vim编辑器编写带有return语句的函数

test4.sh,函数返回值在调用该函数后通过 $? 来获得:

vim test4.sh

脚本内容如下所示:

#!/bin/bash  
 funWithReturn(){  
     echo "one number: "  
     read aNum  
     echo "another number: "  
     read anotherNum  
     echo "$aNum and $anotherNum !"  
     return $(($aNum+$anotherNum))  
 }  
 funWithReturn  
echo "The sum of the two numbers entered is $? !"

Linux||Linux操作之Shell编程-测试命令和函数使用(Ubuntu 16.04)_Ubuntu_11

3.编写具有参数的函数:
vim test5.sh

脚本内容如下所示:

#!/bin/bash  
WithParam(){  
    echo "one $1 !"  
    echo "two $2 !"  
    echo "ten $10 !"  
    echo "ten ${10} !"  
     echo "eleven ${11} !"  
     echo "parameter $# 个!"  
     echo "all parameter $* !"  
 }  
WithParam 1 2 3 4 5 6 7 8 9 25 67

Linux||Linux操作之Shell编程-测试命令和函数使用(Ubuntu 16.04)_bash_12