linux环境中,多个命令之间,通过&& ||执行,命令之间执行的逻辑是什么?
需求描述:
最近在写一个脚本的时候,要判断一个文件是否存在,有怎么样,没有就创建,这个时候
看到了一个test 结合 || 或者 &&的写法,就查看了下资料记录下是怎么个玩法。
操作过程:
1.判断一个脚本是否存在,如果存在就提示文件存在
[mysql@testvm01 baks]$ ls -l
total
-rw-rw-r--. mysql mysql Jan : innobin.log
[mysql@testvm01 baks]$ test -e innobin.log && echo "file exists" #cmd1&&cmd2的方式,cmd1执行文件存在,反馈状态值是0,然后执行cmd2
file exists
2.判断一个脚本是否存在,如果不存在就提示不存在
[mysql@testvm01 baks]$ ll
total
-rw-rw-r--. mysql mysql Jan : innobin.log
[mysql@testvm01 baks]$ test -e innobinNew.log || echo "file not exists" #cmd1||cmd2的方式,cmd1的返回状态值$?不是0,那么执行了cmd2.这里cmd1执行了,但是文件不存在
file not exists
小结:
linux环境中,多个命令执行,有以下逻辑。
cmd1 && cmd2 && cmd3 #如果cmd1执行完毕,执行的返回状态是0,那么就执行cmd2,如果cmd2执行且返回状态是0,执行cmd3,如此进行下去。
cmd1||cmd2||cmd3 #如果cmd1执行且返回状态不是0,执行cmd2,如果cmd2执行且返回状态值不是0,执行cmd3,依次进行下去。
文档创建时间:2019年1月9日14:38:59
linux环境中,多个命令之间,通过&& ||执行,命令之间执行的逻辑是什么?的更多相关文章
- linux环境中通过useradd命令,创建用户的时候指定用户的base-dir
需求说明: 今天一个同事,问了一个这样的问题,在linux环境中,创建用户的时候,默认的是在/home目录下创建一个与用户名相同的家目录, 如何能够将这个/home更换成一个其他的,比如/opt/ap ...
- [软件测试]Linux环境中简单清爽的Google Test (GTest)测试环境搭建(初级使用)
本文将介绍单元测试工具google test(GTEST)在linux操作系统中测试环境的搭建方法.本文属于google test使用的基础教程.在linux中使用google test之前,需要对如 ...
- linux环境中通过/dev/urandom设备产生随机密码
需求说明: 今天在调试SVN的时候,需要创建用户的随机密码,想了下,在linux环境中是否能够生成呢,就搜索了下, 然后结合看到的帖子,分析一个可以生成密码的命令,在此记录下. 操作过程: 1.通过/ ...
- 理解 Linux 网络栈(2):非虚拟化Linux 环境中的 Segmentation Offloading 技术
本系列文章总结 Linux 网络栈,包括: (1)Linux 网络协议栈总结 (2)非虚拟化Linux环境中的网络分段卸载技术 GSO/TSO/UFO/LRO/GRO (3)QEMU/KVM + Vx ...
- linux环境中安装ftp服务
需求说明: 今天项目中有一个新的需求,需要在linux环境中搭建一个ftp服务,在此记录下. 操作过程: 1.通过yum的方式安装ftp服务对应的软件包 [root@testvm01 ~]# yum ...
- linux环境中,查看域名的DNS信息?
需求说明: 今天在linux主机上,要查询一个域名是在哪个DNS上进行解析的,这个域名下面还有哪些的地址 操作过程: 1.linux环境中通过nslookup命令来进行查看 [deployer@CBS ...
- Linux环境下一些有用但不常见的命令
Linux环境下一些有用但不常见的命令 1.获取显卡硬件信息 lspci -vnn | grep VGA -A 12 (若是n卡,则用glxinfo) 2.执行*.sh文件 常见的执行*.sh文件当属 ...
- 她娇羞道“不用这样细致认真的说啊~~”———详细图解在Linux环境中创建运行C程序
她娇羞说,不用这样细致认真的说啊———详细图解在Linux环境中创建运行C程序“不,这是对学习的负责”我认真说到 叮叮叮,停车,让我们看看如何在Linux虚拟机环境中,创建运行C程序 详细图解在Lin ...
- 【事件中心 Azure Event Hub】在Linux环境中(Ubuntu)安装Logstash的简易步骤及配置连接到Event Hub
在文章([事件中心 Azure Event Hub]使用Logstash消费EventHub中的event时遇见的几种异常(TimeoutException, ReceiverDisconnected ...
随机推荐
- MySQL中间件方案盘点_搜狐科技_搜狐网
MySQL中间件方案盘点_搜狐科技_搜狐网
- android 布局文件 ScrollView 中的 listView item 显示不全解决方案
import android.content.Context;import android.util.AttributeSet;import android.widget.ListView; /** ...
- C# 远程服务器 安装、卸载 Windows 服务,读取远程注册表,关闭杀掉远程进程
这里安装windows服务我们用sc命令,这里需要远程服务器IP,服务名称.显示名称.描述以及执行文件,安装后需要验证服务是否安装成功,验证方法可以直接调用ServiceController来查询服务 ...
- iOS开发-观察者模式
观察者模式也被称作发布/订阅模式,观察者模式定义了一种一对多的依赖关系,让多个观察者对象同时监听某一个主题对象.这个主题对象在状态发生变化时,会通知所有观察者对象,使它们能够自动更新自己.观察者模式中 ...
- MySql之游标的使用
一:游标的使用场合 游标只能用于存储过程和函数中. 游标存储了检索语句的结果集,然后在存储过程和函数中可以通过游标来迭代访问结果集中的记录. 二:创建游标 CREATE PROCEDURE 存储过程名 ...
- eclipse plugin development -menu
org.eclipse.ui.menus locationURI MenuContribution locationURI = "[Scheme]:[id]?[argument-list]& ...
- [转]Visual Studio 2010 中安装Qt 5.1
截至目前(2013年7月12日)为止,Qt 的最高版本为Qt5.1,在该版本中已经将Qt Creator与Qt Lib集成在一个文件夹中,因此安装的时候较为方便,只需安装一个即可.因为Qt具有超强的可 ...
- Chrome禁止http自动转为https
解决方法 在Chrome浏览器地址栏输入chrome://net-internals/#hsts 在Delete domain security policies 中输入要删除自动转换的域名 原因 将 ...
- mechanize (1)
最近看的关于网络爬虫和模拟登陆的资料,发现有这样一个包 mechanize ['mekə.naɪz]又称为机械化的意思,确实文如其意,确实有自动化的意思. mechanize.Browser and ...
- 传统D3D11程序面向VS2015编译环境的配置修正细节
A. 配置细节 使用#include <unordered_map>替代<hash_map> 这个是c++标准建议的,没啥好说的 使用#include <directx ...