经常会有人问:Shell中如何将自己的脚本中的每条命令的执行结果放置到自定义的日志文件中? 默认情况下,每条命令执行后,标准输出会定向到屏幕输出,标准错误也会定向到屏幕输出,但屏幕一晃而过,你也就看不到了,如果使用>或者>>,即重定向或者追加重定向是可以将每条命令的输出定位到日志文件中的,但是要将所有的命令的输出结果定向到一个文件就必须每条命令重定向一次,非常之不方便!使用tee命令不过是,定位,追踪代码的时候方便。还是达不到目的,这个时候使用exec命令非常方便。

比如:

#!/bin/bash
set -xv
exec 1>mylog 2>&1
free
df -h
pwd

第一行是shebang,告诉shell便器使用/bin目录的bash来编译脚本。

第二行是打开模式开关 -v:显示shell所读取的输入值。-x:执行指令后,会先显示该指令及所下的参数

第三行exec命令用于调用并执行指令的命令。

  • exec命令通常用在shell脚本程序中,可以调用其他的命令
  • 1> mylog  是将标准输出重定向到mylog文件中
  • 2>&1 是将标准错误定向到标准输入,一起定向到mylog中,也就是说,标准输入和标准输出都会到mylog文件中

执行上面的脚本后,就会将后面三条命令free, df -h, pwd命令的执行结果全部生产到mylog文件中,也就达到了将所有命令执行结果保存到一个文件的目的,非常之方便!

Shell脚本中如何将所有命令执行的结果定位到日志中相关推荐

  1. thinkphp5调用shell脚本_ThinkPHP 5.x远程命令执行测试工具(可getshell)

    该工具只能授权验证网站漏洞和站长验证漏洞使用. 禁止用于未授权测试,非法入侵,否则一切后果自负,和作者无关. 影响范围5.x < 5.1.31 5.x <= 5.0.23 以下基于Thin ...

  2. Linux Shell脚本入门--wget 命令用法详解

    Linux Shell脚本入门--wget 命令用法详解 wget是在Linux下开发的开放源代码的软件,作者是Hrvoje Niksic,后来被移植到包括Windows在内的各个平台上.它有以下功能 ...

  3. java 远程shell脚本_java通过ssh连接服务器执行shell命令详解及实例

    java通过ssh连接服务器执行shell命令详解 java通过ssh连接服务器执行shell命令:JSch 是SSH2的一个纯Java实现.它允许你连接到一个sshd 服务器,使用端口转发,X11转 ...

  4. 编写Shell脚本(批处理,一次执行多条命令)

    Bash终端的优势:1.上下键重复执行命令:2.tab键自动补齐:3.提供有用的环境变量:4.批处理. shell脚本文件建议以.sh为后缀. 其实vim创建文本文件时,对名字无要求,但最好规定格式. ...

  5. inux C程序中获取shell脚本输出(如获取system命令输出)

    1. 前言 Unix 界有一句名言:"一行shell脚本胜过万行C程序",虽然这句话有些夸张,但不可否认的是,借助脚本确实能够极大的简化一些编程工作.比如实现一个 ping程序来测 ...

  6. shell脚本ssh到远程服务器并执行命令

    shell远程执行: 经常需要远程到其他节点上执行一些shell命令,如果分别ssh到每台主机上再去执行很麻烦,因此能有个集中管理的方式就好了.一下介绍两种shell命令远程执行的方法. 前提条件: ...

  7. shell脚本打开另一终端 并执行命令

    有时候,需要开两个终端,到同一目录下分别执行启动服务端和客户端的操作,感觉这种操作有点麻烦,就写个shell脚本来帮我弄: #!/bin/bash # 先切换当前终端的目录 cd /etc/redis ...

  8. Linux Shell脚本中点号和source命令

    Linux中一个文件是根据其是否具有执行属性来判断他是否可以直接运行的.就像Windows下的exe一样.如果我们要执行某一个文件,可以先将其权限修改为可执行(必须是所有者或者root才能修改).然后 ...

  9. python调用shell脚本的参数_使用python执行shell脚本 并动态传参 及subprocess的使用详解

    最近工作需求中 有遇到这个情况 在web端获取配置文件内容 及 往shell 脚本中动态传入参数 执行shell脚本这个有多种方法 最后还是选择了subprocess这个python标准库 subpr ...

最新文章

  1. java基础系列:集合入门
  2. 帝国cms用php输出点击数量,帝国CMS信息增加随机点击数的修改方法(最新教程)
  3. 互联网早报 | 3月16日 星期二 | 微信AI直播助理开放内测;汽车之家港交所挂牌上市;美团App内测“群聊”功能...
  4. 做前端性能优化,还不知道什么是Preload、Prefetch、Preconnect、Prerendering,你就out了?
  5. android 全局定时器,高通Android LED驱动移植-GPIO,内核定时器
  6. nlogn求最长不上升子序列
  7. 我是一个*** (十三)
  8. ildasm ilasm
  9. 【科研绘图】沐风老师3DMAX极小曲面建模教程
  10. python-提取特征 特征选择
  11. 大数据和云计算的区别
  12. linux dbm数据库,linux dbm数据库
  13. 微波射频网将举办“微带传输线无源交调测试可重复性”在线技术讲座
  14. 励志照亮人生 编程改变命运
  15. Django二级域名路由配置方案django-hosts
  16. 快学Python:函数的使用
  17. H5 Handlebars的简单使用
  18. 标题使用java计算三维空间中两点的欧几里德距离
  19. 掌握合影拍摄技巧 拍出不一样的全家福
  20. video.js插件播放hls、rtmp

热门文章

  1. 混合面向目标的机器人
  2. ExtJs6 修改store里面数据grid单元格左上角会有红点标签的去掉方法
  3. 论文参考文献格式(GB7714-2005)_庄启智_新浪博客
  4. 中国为什么产生不了Salesforce?
  5. 整车试验数采设备技术方案
  6. Android电源管理介绍
  7. 第二证券|监管层紧盯内幕交易 市场生态持续改善
  8. 微信小程序学习-组件Map-地图初始定位
  9. P03:路由基础和基本跳转
  10. ICCV 2019视频目标跟踪算法Pipeline集合