转载于:http://blog.csdn.net/cmzsteven/article/details/49049387 在进行源代码编译,或者执行命令无法确认所执行的命令是否成功执行的情况下,我们都会使用 echo $? 来进行测试. 如果返回值是0,就是执行成功:如果是返回值是0以外的值,就是失败. 之前在学习的时候只是机械的接受了这个事实,没有考虑背后的原理. 这二天在查看资料的时候突然看到了“进程生命周期”的知识: 当一个进程执行完毕时,该进程会调用一个名为 _exit 的例程来通知内核它…
shell中的特殊变量:变量名含义$0shell或shell脚本的名字$*以一对双引号给出参数列表$@将各个参数分别加双引号返回$#参数的个数$_代表上一个命令的最后一个参数$$代表所在命令的PID$!代表最后执行的后台命令的PID$?代表上一个命令执行后的退出状态 echo $? 如果返回值是0,就是执行成功:如果是返回值是0以外的值,就是失败.…
/*----------------------------------------------------------------------------------------------- @黑眼诗人 <www.farwish.com> -----------------------------------------------------------------------------------------------*/ 一. 多命令顺序执行 分号(;)        逻辑与(&…
在进行socket编程的时候,可以实现远程执行命令,然后返回相关的结果,但是这种...很容易就把服务器搞挂了. 在这里需要用到commands模块,commands模块中有一个方法为getstatusoutput,主要就是返回执行的返回码和结果,如下所示: >>> import commands >>> commands.getstatusoutput('ls') (0, 'client.py\nserver.py') >>> commands.get…
实际生产案例 生产机房自建PPTP客户端通过拨号连接到生产机房,但是一旦客户端网络是意外断线再重新拨号 会产生IP冲突,于是写了一个脚本监控PPTP的IP是否有多个(一般冲突以后会生成2个IP) #!/bin/bash #author Liuyueming . /etc/profile #开始没有加这个环境变量 for i in {10..35} do n=`ifconfig|grep 10.13.0.${i}|wc -l` #循环取ip并计数 # echo `ifconfig|grep 10.…
shell 中如何判断前一个命令是否执行成功 通过判断返回值来解决: if [ $? -eq 0 ];then 命令正确的分支 else   命令失败的分支 fi…
# 使用npm安装serve命令 ~$ npm install serve --global 安装成功 # 可是执行命令会报错 ~$ serve -v bash: serve: command not found 安装其它命令也一样 原因:安装成功了,但使用直接使用时确找不到命令,应该是环境变量问题,设置环境变量就可以了. 解决方法: # 用一个通用的命令配置环境变量 ~$ echo -e "export PATH=$(npm prefix -g)/bin:$PATH" >>…
shell脚本中判断上一个命令是否执行成功 shell中使用符号“$?”来显示上一条命令执行的返回值,如果为0则代表执行成功,其他表示失败.结合if-else语句实现判断上一个命令是否执行成功. 示例如下: if [ $? -ne 0 ]; then echo "failed" else echo "succeed" fi 或者: if [ $? -eq 0 ]; then echo "succeed" else echo "faile…
whereis 用来查看一个命令或者文件所在的绝对路径,而 which 用来查看当前要执行的命令所在的路径. 下面举个例子来说明.加入你的linux系统上装了多个版本的java.如果你直接在命令行敲命令 "java -version" ,会得到一个结果.但是,你知道是哪一个路径下的java在执行吗?如果想知道,可以用 which 命令: which java 得到的结果就是系统默认执行的java所在的路径. 如果使用命令: whereis java 那么你会得到很多条结果,因为这个命令…
watch - execute a program periodically, showing output fullscreen 定期执行一个程序,全屏显示输出 watch重复运行命令,显示其输出和错误(第一个完整屏).这允许您观察程序输出随时间的变化,默认情况下,程序每2秒运行一次.默认情况下,watch命令将一直运行到中断. 格式: watch [options] command option: -d,--differences:高亮显示每次显示之间的差异.非常好用. -n,--inter…
转载请注明来源https://www.cnblogs.com/sogeisetsu/p/11407830.html Linux不管上一条命令成功还是失败都执行下一个命令的方法 Linux不管上一条命令成功还是失败都执行下一个命令的方法就是用; 在用linux命令时候, 我们经常需要同时执行多条命令, 那么命令之间该如何分割呢? 分号: 顺序地独立执行各条命令, 彼此之间不关心是否失败, 所有命令都会执行. 实例 执行print 123 反馈Error: no such file "123&quo…
bat 判断命令是否执行成功 连接符形式,&& 表示成功,|| 表示失败,例如: call xxx.bat && (goto succeed) || goto failed :succeed echo successfully :failed echo failed pause 使用%errorlevel% call xxx.bat if %errorlevel% == 0 ( echo successfully ) else ( echo failed )…
shell脚本中判断上一个命令是否执行成功  shell中使用符号“$?”来显示上一条命令执行的返回值,如果为0则代表执行成功,其他表示失败.结合if-else语句实现判断上一个命令是否执行成功. 场景:如果clone项目成功,才进行打包工作 示例脚本: echo "clone命令" git clone -b <branchName> <gitAddress> ]; then echo "faild" else echo "succ…
linux screen 命令详解,xshell关掉窗口或者断开连接,查看断开前执行的命令 https://binwaer.com/post/12.html yun install -y screen screen -S zhaobsh ping www..com 关闭xshell 再次连接 screen -ls 根据 pid 使用 screen -r pid 再次打开连接. 一.背景 系统管理员经常需要SSH 或者telent 远程登录到linux 服务器,经常运行一些需要很长时间才能完成的任…
场景:/etc/rc.local有语句 /usr/local/apache/bin/apachectl start mysql cactidb -u root -p123456 -e ' set global sql_mode=NO_ENGINE_SUBSTITUTION' 问题:mysql命令没有执行 思考: 1.两条命令,第一条成功,第二条不成功,从执行语句可以看到,第一条采用了绝对路径,第二条并没有,是否是环境变量的问题? 2.经查看,环境变量里面包含了mysql所在路径 3.经过查找资料…
注:这是一个没什么鸟用的功能.不过也算是一种拓展. 通常在那些"一键化部署"的shell脚本中,可能需要使用ssh执行远程命令来实现一些简单的自动化,这些远程命令可能需要执行一段时间才能结束(如yum命令).例如,远程ssh配置yum源,远程ssh安装软件包. 为了让脚本实现"并行"执行,这个远程ssh命令往往还会加上"-f"选项使其进入后台执行.此时,如果后续的远程任务正好要依赖于这个命令已经执行完成,那么我们要判断前面的任务是否执行完成.例如…
shell执行命令的步骤顺序如上图,看起来有些复杂. 当命令行被处理时,每一个步骤都是在Shell的内存里发生的;Shell不会真的把每个步骤的发生显示给你看. 所以,你可以假想这事我们偷窥Shell内存里的情况,从而知道每个阶段的命令行是如何被转换的. shell执行命令的原理 Shell 从标准输入或脚本中读取的每一行称为管道(pipeline);它包含了一个或多个命令(command),这些命令被一个或多个管道字符(|)隔开. 对于每一个读取的管道,Shell都会将命令分割,为管道设置 I…
在linux上经常使用ls,grep,vi等命令,如何查看这些命令的绝对路径呢? 通过whereis/which 就可以啦,但是这两个命令之间还是有一些区别.网上查了一下资料,解释如下: which 用来查看当前要执行的命令所在的路径. whereis 用来查看一个命令或者文件所在的路径, which命令的原理:在PATH变量指定的路径中,搜索某个系统命令的位置,并且返回第一个搜索结果.也就是说,使用which命令,就可以看到某个系统命令是否存在,以及执行的到底是哪一个位置的命令. which命…
一.回顾 1.FHS,命令及bash命令历史 a.FHS: /bin,/sbin,/lib,/lib64,/etc /home,/root /boot /media,/mnt /proc,/sys /tmp /srv /opt /dev /usr bin,sbin,lib,lib64,share,local,include,... /var cache,lib,log, 2.命令:which,whereis,who,w,alias,unalias 3.命令历史:history 4.文件类型:-,…
Apache Solr 最近有出了个漏洞预警,先复习一下之前的漏洞 命令执行 先创建一个listener,其中设置exe的值为我们想执行的命令,args的值是命令参数 POST /solr/demo/config HTTP/1.1 Host: your-ip Accept: */* Accept-Language: en User-Agent: Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; Win64; x64; Trident/5.0)…
前提:准备好jmeter脚本,找到jmeter配置文件查看生成的日志格式是否为csv,如果不是请改为csv 注意:使用命令执行jmeter脚本必须使用jmeter 3.0及以上版本1.使用命令行执行脚本并生成日志文件进入到jmeter的bin目录下执行命令:jmeter -n -t D:\test\jmeterproject\tech_test.jmx -l D:\test\jmeterproject\tech_test.jtl -j D:\test\jmeterproject\tech_tes…
文章目录: GIT体系概述 GIT 核心命令使用 GIT 底层原理 一.GIT体系概述 GIT 与 svn 主要区别: 存储方式不一样 使用方式不一样 管理模式不一样 1.存储方式区别 GIT把内容按元数据方式存储类似k/v数据库,而SVN是按文件(新版svn已改成元数据存储) n 演示git 存储过程演示 cd .git/objects/df/ git cat-file -p df70460b4b4aece5915caf5c68d12f560a9fe3e4 echo 'version1' >…
前言 上一节我们详细讲解了过滤器的创建过程以及粗略的介绍了五种过滤器,用此五种过滤器对实现对执行Action方法各个时期的拦截非常重要.这一节我们简单将讲述在Action方法上.控制器上.全局上以及授权上的自定义特性的执行过程. APiController 之前有讲到该APiController,也就稍微介绍了,这节我们来详细此Web API控制器的基类: public abstract class ApiController : IHttpController, IDisposable { /…
背景 使用webpagetest进行性能分析,需要一个一个url的去执行,需要人为去等,比较繁琐.而api很好的解决了这个问题,可以通过命令行等执行测试,也可以写成一个常规脚本,针对每个版本的常规url进行测试     安装webpagetest的npm包   npm install webpagetest -g   安装好后,可以用node.js引用webpagetest包来进行操作,也可以通过命令行直接操作.我这里使用的命令行进行操作   常用命令行操作   命令行格式:webpagetes…
linux命令将nodejs文件变成可执行文件 在linux中一般我们在运行node文件时用的命令为: node example.js 首先.删除文件后缀,在linux命令下添加可执行权限 mv example.js example chmod +x example 然后将node的安装路径写到example文件头部 #!/usr/local/bin/node ... 文件内容 ... 最后执行 ./example mac下:linux 的 crontab 命令定期执行文件 为当前用户创建cro…
ACTIVITI 是一个优秀开源软件,通过阅读源码,我们不但可以了解工作流引擎执行的原理还可以增加个人的编码功力. ACTIVITI 所有执行过程都是采用命令模式进行执行. 本文主要描述流程引擎数据保存的过程. 流程引擎所有的操作都采用命令模式,使用命令执行器进行执行,命令执行器是一个采用拦截器链式执行模式. 1.命令执行器. 代码为org.activiti.engine.impl.interceptor.CommandExecutor. 命令执行器的构造代码如下: 1.获取拦截器列表. 1.获…
Linux的bash内部命令history就可以显示命令行的命令历史,默认环境执行 history 命令后,通常只会显示已执行命令的序号和命令本身.如果想要查看命令历史的时间戳,那么可以执行:# export HISTTIMEFORMAT='%F %T '# history | less1 2008-08-05 19:02:39 service network restart2 2008-08-05 19:02:39 exit3 2008-08-05 19:02:39 id…
fg.bg.jobs.&.nohup.ctrl+z.ctrl+c 命令 一.& 加在一个命令的最后,可以把这个命令放到后台执行,如 watch -n 10 sh test.sh & #每10s在后台执行一次test.sh脚本 二.ctrl + z 可以将一个正在前台执行的命令放到后台,并且处于暂停状态. 三.jobs 查看当前有多少在后台运行的命令 jobs -l选项可显示所有任务的PID,jobs的状态可以是running, stopped, Terminated.但是如果任务被…
windows+r 运行cmd命令,执行以下操作! 当mysql 数据库文件相对于来说比较大的时候,这个时候你可能在正常环境下的mysql中是导入不进去的,因为mysql数据库本身就有默认的导入文件大小 , 这个时候就要用到 cmd命令去操作mysql数据库了 , 以下我就简单介绍下 , 如何去对mysql 数据库 进行增删改查的操作! 操作一: cd D:\phpStudy\MySQL\bin //使用cd 命令进行查找 mysql 下的bin文件 找到你的安装目录查找即可 操作二: mysq…