shell命令执行顺序的控制办法

 &&
命令1 && 命令2:如果这个命令执行成功&&那么执行这个命令。
[开发]/usr/xxxx/ytcclb>ls -l test.sql
-rwxr--r-- 1 xxxx group 225 Nov 15 14:12 test.sql
[开发]/usr/xxxx/ytcclb>cp test.sql test.bak && echo "coping file ok!"
coping file ok!
[开发]/usr/xxxx/ytcclb>ls -l test.*
-rwxr--r-- 1 xxxx group 225 Nov 15 17:48 test.bak
-rwxr--r-- 1 xxxx group 225 Nov 15 14:12 test.sql

移动文件,删除目录:
$ mv /apps/bin /apps/dev/bin && rm -r /apps/bin
将文件排序,输出到另一个文件,成功后打印:
$ sort test.sql > test.bak && lp test.bak

||
命令1 || 命令2:如果这个命令执行失败了 || 那么执行这个命令。
$ cp test.sql test.bak || echo "errors occured during coping file"
例如:
[开发]/usr/xxxx/ytcclb>cp test.sql test.bak
[开发]/usr/xxxx/ytcclb>ls -l test.*
-rwxr--r-- 1 xxxx group 225 Nov 15 18:08 test.bak
-rwxr--r-- 1 xxxx group 225 Nov 15 14:12 test.sql
[开发]/usr/xxxx/ytcclb>chmod u-w test.bak
[开发]/usr/xxxx/ytcclb>ls -l test.*
-r-xr--r-- 1 xxxx group 225 Nov 15 18:08 test.bak
-rwxr--r-- 1 xxxx group 225 Nov 15 14:12 test.sql
[开发]/usr/xxxx/ytcclb>cp test.sql test.bak || echo "errors occrued during coping file"
cp: unable to create file test.bak: Permission denied (error 13)
errors occrued during coping file
[开发]/usr/xxxx/ytcclb>

()和{}:将几个命令组合起来使用。
(命令1;命令2;...):在当前shell中执行一组命令。
{命令1;命令2;...}:大括号里面的内容将作为整体执行。

时间: 2024-10-29 23:38:29

shell命令执行顺序的控制办法的相关文章

Shell 命令执行顺序分析[图]_linux shell

Shell 从标准输入或脚本中读取的每一行称为管道(pipeline);它包含了一个或多个命令(command),这些命令被一个或多个管道字符(|)隔开. 事实上还有很多特殊符号可用来分隔单个的命令:分号(;).管道(|).&.逻辑AND (&&),还有逻辑OR (||).对于每一个读取的管道,Shell都回将命令分割,为管道设置I/O,并且对每一个命令依次执行下面的操作: 整个步骤顺序如上图所示,看起来有些复杂.当命令行被处理时,每一个步骤都是在Shell的内存里发生的;Shel

linux shell命令执行顺序的控制方法_linux shell

&&命令1 && 命令2:如果这个命令执行成功&&那么执行这个命令.[jb]/usr/xxxx/ytcclb>ls -l test.sql-rwxr--r-- 1 xxxx group 225 Nov 15 14:12 test.sql[jb]/usr/xxxx/ytcclb>cp test.sql test.bak && echo "coping file ok!"coping file ok![jb]/us

用例执行顺序-怎么控制robotium用例的执行顺序

问题描述 怎么控制robotium用例的执行顺序 rubotium中用例的执行顺序吗?如果有的用例不想被执行,该怎么做呢 解决方案 robotium 有很多解释的.

mail2sh 1.4-3发布 shell命令执行工具

Mail2sh是一款能够通过电子邮件执行shell命令的工具.工作原理是用电子邮件发送到你主机上的一个特定用户,如果在/etc/passwd中的用户名和密码相匹配,命令将立即执行.使用者的权限执行命令,并结合PGP模块确保了一定程度的使用安全.但是请用户注意,系统本身不加密,所以强烈建议使用加密的机制是出于安全原因. mail2sh 1.4-3版本在http://www.aliyun.com/zixun/aggregation/33836.html">Debian 5 and 6软件包中增

高危Windows系统 SMB/RDP远程命令执行漏洞 手工修复办法

 1.Windows Update更新补丁方式: 更新方法:点击"开始"->"控制面板"->"Windows Update" ,点击"检查更新"-"安装更新":   2.检查安装结果: 点击"查看更新历史记录",检查安装的补丁: 3.重启系统生效 漏洞参考: https://blogs.technet.microsoft.com/msrc/2017/04/14/protect

Ruby中执行Linux shell命令的六种方法详解_ruby专题

在Ruby中,执行shell命令是一件不奇怪的事情,Ruby提供了大概6种方法供开发者进行实现.这些方法都很简单,本文将具体介绍一下如何在Ruby脚本中进行调用终端命令. exec exec会将指定的命令替换掉当前进程中的操作,指定命令结束后,进程结束. 复制代码 代码如下: exec 'echo "hello world"' print 'abc' 执行上述的命令,结果如下,我们可以看到没有abc的输出,可以看出来,在执行echo "hello world"命令后

linux中Shell命令用法入门教程

什么时候使用Shell 因为Shell似乎是各UNIX系统之间通用的功能,并且经过了POSIX的标准化.因此,Shell脚本只要"用心写"一次,即可应用到很多系统上.因此,之所以要使用Shell脚本是基于:     简单性:Shell是一个高级语言:通过它,你可以简洁地表达复杂的操作.     可移植性:使用POSIX所定义的功能,可以做到脚本无须修改就可在不同的系统上执行.     开发容易:可以在短时间内完成一个功能强大又妤用的脚本. 但是,考虑到Shell脚本的命令限制和效率问题

神漏洞!macOS也能弹计算器,一行JS代码远程命令执行

本文讲的是神漏洞!macOS也能弹计算器,一行JS代码远程命令执行,最近,Google Project Zero公开披露了一个macOS系统的神漏洞,一行JS代码便可以让Mac电脑弹计算器. 这个神漏洞真的特别有趣,研究员发现macOS的内置应用HelpViewer有一个内部协议调用,可以打开本机上的任何文件,这个协议调用的路径检查有点缺陷,使用某些特定语法可以绕过,去打开攻击者指定的文件. 以上只能做到本地命令执行,研究员想了个法子,用JS代码去调用HelpViewer打开文件,间接做到远程执

Java调用Shell命令的方法_java

本文实例讲述了Java调用Shell命令的方法.分享给大家供大家参考.具体如下: 近日项目中有这样一个需求:系统中的外币资金调度完成以后,要将调度信息生成一个Txt文件,然后将这个Txt文件发送到另外一个系统(Kondor)中.生成文件自然使用OutputStreamWirter了,发送文件有两种方式,一种是用写个一个类似于FTP功能的程序,另外一种就是使用Java来调用Shell,在Shell中完成文件的发送操作.我们选择后一种,即当完成外币资金的调度工作后,用Java的OutputStrea