shell脚本--文件测试
文件测试是指测试某一个文件或者目录是否存在
测试文件格式[ 操作符 目录或者文件 ] 注意左括号和操作符之间有一个空格,文件或者目录 与右边的括号之间也有一个空格。
| -d | 测试是否为目录 |
| -e | 测试文件或者目录是否存在 |
| -f | 测试是否为文件 |
| -r | 测试当前用户是否对文件有读权限 |
| -w | 测试当前用户是否对文件有写权限 |
| -x | 测试当前用户是否对文件有执行权限 |
| -L | 测试是否为符号链接文件 |
测试的结果可以使用$?来获取,$?表示上一条命令的执行是否成功 或者 判断条件是否成立: 如果运行成功则返回0,如果出现异常或者失败时,返回非0值。于是就可以$?来判断文件测试是否成功了。
实例:
#!/bin/bash
#文件名:test.sh [ -d /etc ]
echo $? [ -f /etc ]
echo $? [ -f test.sh ]
echo $? [ -x test.sh ]
echo $?
运行结果:
ubuntu@ubuntu:~$ ./test.sh
0
1
0
0
ubuntu@ubuntu:~$
强化:
#!/bin/bash
#文件名:test.sh [ -d /etc ] && echo "one"
[ -f /etc ] && echo "two"
[ -f test.sh ] && echo "three"
[ -x test.sh ] && echo "four"
运行:
ubuntu@ubuntu:~$ ./test.sh
one
three
four
ubuntu@ubuntu:~$
shell脚本--文件测试的更多相关文章
- shell 脚本文件Windows传到Linux后编码问题
shell 脚本文件Windows传到Linux后编码问题 下面这个标红的位置出现,是由于脚本从Windows机器上直接传到linux文件格式不对导致的. cat -v a.sh help^M exi ...
- 远程调用shell脚本文件和远程复制文件
1.安装sshpass yum install sshpass 2.本地调用远程服务器的shell脚本文件: sshpass -p sa ssh root@192.168.56.105 -C &quo ...
- 创建shell脚本文件
简单来说脚本就是将需要执行的命令保存到文本中,按照顺序(由上往下执行),它是解释型的,不需要 编译 脚本格式 #!/bin/bash或者#!/bin/env bash开头 第一个shell脚本:hel ...
- shell脚本编程测试类型下
一bash的数值测试 -v VAR变量VAR是否设置 数值测试:-gt 是否大于greater-ge 是否大于等于-eq 是否等于-ne 是否不等于 not equal-lt 是否小于-le 是否小 ...
- 关于shell脚本——条件测试、if语句、case语句
目录 一.条件测试 1.1.表达说明 1.2.test命令 文件测试 1.3.整数值比较 1.4.字符串比较 1.5.逻辑测试 二.if语句 2.1.单分支结构 2.2.双分支结构 2.3.多分支结构 ...
- 二、shell 脚本条件测试
目录 一.条件测试 test 格式 文件测试 文件测试常见选项 整数值比较 字符串比较 浮点数的运算 逻辑测试 二.if语句 1单分支 2双分支结构 3多分支结构 三元运算符 三.case 一.条件测 ...
- 如何进行shell脚本正确性测试
在实际工作中,需要对shell脚本进行正确性测试. 如何用最快最有效的方式进行测试? 很多开发的习惯是,二话不说,写完/拿到,就跑一把,看看输入,输出,想要的操作是否完成,也就过了. 其实这是十分不严 ...
- 【Shell脚本】运行shell脚本文件的几种方法与区别
Shell脚本不同的运行方式会对当前Shell设置或者运行结果有所不同. 假设现在有一个脚本名为display_shell_script_args.sh,其内容如下: #!/home/pyf/bin/ ...
- 让你提前知道软件开发(22):shell脚本文件操作
文章1部分 再了解C语言 shell脚本中的文件操作 [文章摘要] 编写shell脚本时,经常会涉及到对文件的操作,比方从文件里读取一行数据.向文件追加一行数据等. 完毕文件读写操作的方法有非常多,了 ...
随机推荐
- CSS中background属性详解
CSS背景属性 background css 说明 background-image:url(图片的网址); 背景图 background: url( 图片的网址 ); 背景 background-c ...
- MySql常用命令集Mysql常用命令3
MYSQL常用命令 有很多朋友虽然安装好了mysql但却不知如何使用它.在这篇文章中我们就从连接 MYSQL.修改密码.增加用户等方面来学习一些MYSQL的常用命令. 有很多朋友虽然安装好了mysql ...
- 转载 .Net多线程编程—并发集合 https://www.cnblogs.com/hdwgxz/p/6258014.html
集合 1 为什么使用并发集合? 原因主要有以下几点: System.Collections和System.Collections.Generic名称空间中所提供的经典列表.集合和数组都不是线程安全的, ...
- P1004 方格取数-洛谷luogu-dp动态规划
题目描述 设有N \times NN×N的方格图(N \le 9)(N≤9),我们将其中的某些方格中填入正整数,而其他的方格中则放入数字00.如下图所示(见样例): A 0 0 0 0 0 0 0 0 ...
- uploadify 302 上传图片报错
1.uploadify 302 上传图片报错 2.解决方式 一 uploadify 302 上传图片报错 备注:谷歌浏览器不报错,只在火狐报错. 二 解决方式 原因:插件调用,不能自带身份验证信息 ...
- Android学习之基础知识十四 — Android特色开发之基于位置的服务
一.基于位置的服务简介 LBS:基于位置的服务.随着移动互联网的兴起,这个技术在最近的几年里十分火爆.其实它本身并不是什么时髦的技术,主要的工作原理就是利用无线电通讯网络或GPS等定位方式来确定出移动 ...
- python inspect.stack() 的简单使用
1. #python # -*- encoding: utf-8 -*- #获取函数的名字 import inspect def debug(): callnamer = inspect.stack( ...
- VC++编写简单串口上位机程序
VC++编写简单串口上位机程序 转载: http://blog.sina.com.cn/s/articlelist_1809084904_0_1.html VC++编写简单串口上位机程序 串口通信 ...
- BZOJ4911: [Sdoi2017]切树游戏
BZOJ 4911 切树游戏 重构了三次.jpg 每次都把这个问题想简单了.jpg 果然我还是太菜了.jpg 这种题的题解可以一眼秒掉了,FWT+动态DP简直是裸的一批... 那么接下来,考虑如何维护 ...
- Luogu1344 追查坏牛奶 最小割
题目传送门 题意:给出$N$个节点$M$条边的有向图,边权为$w$,求其最小割与达到最小割的情况下割掉边数的最小值.$N \leq 32,M \leq 1000,w\leq 2 \times 10^6 ...