菜鸟学Linux 第016篇笔记 bash脚本之文件测试,变量类型

简介:

菜鸟学Linux 第016篇笔记 bash脚本之文件测试,变量类型






测试方法

[ EXPression ]  命令测试法

` EXEpression ` 关键字测试

test EXEression


bash中常用的条件测试三种:

整数测试:(双目测试)

-gt 大于

-le 小于等于

-ne 不等于

-eq 等于

-ge 大于等于

-lt 小于

e.g.

INT1=63

INT2=77

[ $INT1 -eq $INT2 ]

[[ $INT -eq $INT2 ]]

test $INT1 -eq $INT2


文件测试:(单目测试)

-e FILE; 测试文件是否存在(existed)

-f file; 测试文件是否为普通文件;

-d FILE; 测试指定路径是否为目录(directory);

-r FILE; 测试当前用户对指定文件是否有读取权限;

-w FILE; 测试当前用户对指定文件是否有可写权限;

-x FILE; 测试当前用户对指定文件是否有可执行权限;


[ -e /etc/inittab ]

[ -x /etc/rc.d/rc.sysinit ]



多分支的if语句:

if 判断条件1;then

statement1

...

elif 判断条件1;then

statement2

...

elif 判断条件n;then

statementn

...

else

statement

...

fi

测试脚本是否有语法错误:

bash -n 脚本 含义:查脚本有无语法错误

bash -x 脚本 含义:逐步执行

定义脚本退出状态码

exit: 退出脚本

exit #

如果脚本没有明确定义退出状态码,那么,最后执行的一条命令的退出状态码

即为脚本退出状态码。


bash变量的类型:

本地变量(局部变量) 作用域:当前shell进程

环境变量  作用域:当前shell进程,即其子shell

位置变量 $1 $2 $3 ...

shift n 移位到第n+1个参数;

./script /etc/fstab /etc/inittab

$1 /etc/fstab 表示脚本第一个参数

$2 /etc/inittab 表示脚本第二个参数

特殊变量

$? 上一条命令的退出状态码

$# 参数的个数

$* 参数列表

$@ 参数列表

小练习:写脚本

script1

1、给定一个文件:

如果是一个普通文件,则显示之;

如果是一个目录,亦显示之;

否则,此为无法识别的文件。

script2 

能接受一个参数(文件路径)

判定:此参数如果是一个存在的文件,就显示OK;

否则就显示“No such file."

script3

1、给脚本传递两个参数(整数);

2、显示此两者之和,之积;

key:

script1 

#!/bin/bash

#

FILE=/etc/rc.xxx


if [ ! -e $FILE ]; then 

echo "No such file."

exit 6

fi


if [ -f $FILE ]; then

echo "Common file."

elif [ -d $FILE ]; then 

echo "Directory."

else

echo "Unrecognize file."

fi


script2

#!/bin/bash

#

FILE=$1


if [ $# -eq 0 ]; then

echo "You need to input a parameter."

exit 2

fi



if [ -e $FILE ]; then

echo "OK"

else 

echo "No such file."

fi


script3

#!/bin/bash

#

if [ $# -ne 2 ]; then

echo "Usage: command ARG1 ARG2."

exit 1

fi

echo "The sum is $[$1+$2]."

echo "The xj is $[$1*$2]."

本文转自Winthcloud博客51CTO博客,原文链接http://blog.51cto.com/winthcloud/1862941如需转载请自行联系原作者


Winthcloud

相关文章
|
5天前
|
存储 监控 前端开发
如何确保测试脚本的稳定性和可靠性?
确保测试脚本的稳定性和可靠性是保证性能测试结果准确有效的关键
|
5天前
|
监控 网络协议 Java
一些适合性能测试脚本编写和维护的工具
一些适合性能测试脚本编写和维护的工具
|
5天前
|
存储 监控 测试技术
测试脚本编写和维护的最佳实践有哪些?
测试脚本编写和维护的最佳实践有哪些?
|
5天前
|
测试技术 数据库连接 数据库
测试脚本的编写和维护对性能测试结果有何影响?
测试脚本的编写和维护对性能测试结果有着至关重要的影响,
12 1
|
4天前
|
Linux
在 Linux 系统中,“cd”命令用于切换当前工作目录
在 Linux 系统中,“cd”命令用于切换当前工作目录。本文详细介绍了“cd”命令的基本用法和常见技巧,包括使用“.”、“..”、“~”、绝对路径和相对路径,以及快速切换到上一次工作目录等。此外,还探讨了高级技巧,如使用通配符、结合其他命令、在脚本中使用,以及实际应用案例,帮助读者提高工作效率。
22 3
|
4天前
|
监控 安全 Linux
在 Linux 系统中,网络管理是重要任务。本文介绍了常用的网络命令及其适用场景
在 Linux 系统中,网络管理是重要任务。本文介绍了常用的网络命令及其适用场景,包括 ping(测试连通性)、traceroute(跟踪路由路径)、netstat(显示网络连接信息)、nmap(网络扫描)、ifconfig 和 ip(网络接口配置)。掌握这些命令有助于高效诊断和解决网络问题,保障网络稳定运行。
17 2
|
12天前
|
缓存 监控 Linux
|
15天前
|
Linux Shell 数据安全/隐私保护
|
16天前
|
域名解析 网络协议 安全

热门文章

最新文章