`
fantaxy025025
  • 浏览: 1351782 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类

Linux_重定向_执行细节_一个例子

阅读更多

今天写完shell脚本调试一下,发现一个有意思的事情~实验并记录一下~

 

重定向,一般用的时候就直接用了,有时候得去考虑执行细节。

 

例子一、

 

写法1:

        command 1>output_file 0<input_file 2>error_file

写法2:

        command 2>error_file 1>output_file 0<input_file

 

考虑一下从左至右的执行,写法1,如果input_file有问题了,报错了,2>error_file还没有被执行到,结果错误信息写入terminal。

 

例子二、

 

当前目录下只有一个文件

/home/lijungang/temp
|---t.txt

 

% ls 1>aaa.log

得到的结果目录

/home/lijungang/temp
|---aaa.log
|---t.txt

 

你猜一下,aaa.log文件的内容应该是一行:t.txt吧?我也这么认为,可惜错了。

aaa.log
t.txt

仔细想一下执行细节:ls命令去扫描当前目录之前,须先建立aaa.log文件,之后扫描的时候已经多了一个文件aaa.log

 

为了证明这一点,先把当前目录情况,之后执行 ls 1>aaa.log 再查看aaa.log内容,果然仅仅一行:aaa.log

 

okay!finish this lesson learn.

==>>不能把输出文件写入执行目录

 

那如果我非要把输出放入当前目录呢?

 

方法就是让ls执行完毕之后再建立重定向的那个文件吧~

比如一个简单的方法:

1) ls | grep * 1>aaa.log

2) 一个更简单的 ls | 1>aaa.log

 

 

 

 

分享到:
评论

相关推荐

    Linux下Shell编程实例

    `/etc/profile`是Linux系统中的一个初始化脚本,它在用户登录时运行,用于设置环境变量和执行启动命令。而“kill”命令则用于终止指定的进程。 在Shell编程中,我们可以使用以下基础概念: 1. **变量**:Shell脚本...

    Linux操作系统基础教程

    在这一讲中,我们主要是了解一下 Linux 的概况,以及对 Linux 有一个初步的感性认识。 一.什么是Linux? Linux 是一个以 Intel 系列 CPU(CYRIX,AMD 的 CPU也可以)为硬件平台,完全免费的 UNIX 兼容系统,完全...

    LINUX与UNIX SHELL编程指南

    1. **Shell简介**:Shell是操作系统提供的一个命令行界面,用户可以通过它输入命令来执行各种操作。常见的Unix/Linux Shell有Bash(Bourne-Again SHell)、C Shell、Korn Shell等,其中Bash是目前最常用的一种。 2....

    shell_here_documents用法

    下面的例子展示了如何使用 Here Documents 创建一个包含多行文本的文件。 ```bash cat &gt; file This is the first line. This is the second line. EOF ``` 在这个例子中,`cat` 命令接收 Here Document 定义的文本...

    linux的网络编程

    - **不同之处:** Linux是一个独立的操作系统,而Unix是一系列商业产品的总称。 - **关系:** Linux的设计灵感来源于Unix,但两者在版权和许可证方面有所不同。 #### 三、UNIX/Linux模型 **2.1 UNIX/Linux基本结构...

    在PHP中运行Linux命令并启动SSH服务的例子

    在本例中,`proc_open`用来执行一个Python程序,以便通过Python进一步控制命令执行。 2. **Python的pty模块**:Python的pty模块提供了伪终端(pseudo-terminal)功能,允许在Python程序中模拟终端交互。`pty.spawn...

    Linux Device Drivers(3rd Edition, by Dean) 中文非影印版.pdf

    - **当前进程**: 在内核空间中,每个内核线程都有一个当前进程的概念,用于跟踪正在执行的操作。 - **几个别的细节**: 包括信号处理、上下文切换等内容。 - **编译和加载**: 介绍如何编译驱动程序以及如何将其加载...

    PyPI 官网下载 | daemonize-2.0.tar.gz

    "daemonize-2.0.tar.gz" 是一个在PyPI上发布的开源软件包,它遵循了Python社区常用的打包格式,即源码包。这个压缩文件包含的是"daemonize"库的2.0版本。"daemonize"库主要用于将Python程序转换为守护进程(daemon)...

    新版Android开发教程.rar

    Android 是一个专门针对移动设备的软件集,它包括一个操作系统,中间件和一些重要的应用程序。 Beta 版 的 Android SDK 提供了在 Android 平台上使用 JaVa 语言进行 Android 应用开发必须的工具和 API 接口。 特性 ...

    GettingStartedwithLinux

    - **Debian GNU/Linux:** Debian是一个非常流行的Linux发行版,以其稳定性和社区支持而受到青睐。 - **Debian GNU/Linux的安装:** 这部分详细介绍了如何安装Debian GNU/Linux,包括从选择镜像文件、准备安装介质到...

    Unix程序设计环境课件:第4章 shell编程初步.ppt

    - `mkdir`就是一个例子,用于创建新目录。在脚本文件中,可以包含一系列命令和控制结构。 - 执行Shell脚本需要赋予其可执行权限,如`chmod +x scriptname.sh`,然后通过`./scriptname.sh`运行。 4. **Shell命令...

    高级shell编程 第五部分 高级shell编程技巧(共5部分)

    在“高级shell编程”的第五部分,我们探讨了五个关键章节,涵盖了高级shell编程技巧,这对于任何想要提升在Linux系统中自动化任务能力的IT专业人士来说都是不可或缺的知识。以下是对每个章节内容的详细阐述: 第25...

    linux常用命令

    硬链接指向同一个文件节点,而符号链接则是指向另一个文件的引用。 #### 12. 动态打印日志文件最新日志 - **命令**: `tail -f` - **描述**: `tail -f`用于连续地显示文件的最后几行,并持续监控文件的新增内容。这...

    windows rootkit技术分析

    He4HookInv是一个著名的例子,它通过篡改SST来隐藏其行为。He4HookInv的具体实现涉及到对系统调用的拦截和重定向,使得系统调用看起来像正常的系统行为,增加了检测的难度。 为了对抗Rootkit,开发者和安全专家已经...

    调度和基于DLL的内核设计

    例如,在一个PC上运行的Windows操作系统就是一个典型的虚拟化例子。其中,物理的PC(宿主机)可以支持一个或多个虚拟机(Guest),每个虚拟机都可以运行不同的操作系统(如Windows、Linux等)。这样,用户可以在同一...

    17373176-叶静波-lab0实验报告1

    - 在这个例子中,通过重定向和命令拼接创建了一个名为`test`的文件。`command`文件包含了创建和编辑`test`文件的一系列命令,如设置变量并将其写入文件,以及将文件内容追加到其他文件。最后,`test`文件作为批处理...

    Lodop打印插件及使用教程

    Lodop的API接口丰富,覆盖了打印设置、页面布局、页眉页脚、页面分隔等诸多方面,使得开发者可以轻松控制打印过程中的每一个细节。 以下是Lodop的一些关键知识点: 1. **安装与集成**:`install_lodop.exe`是Lodop...

    Redis Cookbook.pdf

    - **问题背景:** Ruby on Rails是一个全栈Web框架,广泛应用于现代Web应用开发。 - **解决方案:** 本书介绍了如何在Rails项目中集成Redis。 - **讨论细节:** - 可以使用`redis-rails` gem来简化配置过程。 -...

    用模板的方式创建守护进程代码实例

    在这个例子中,`work()`函数在一个无限循环中每60秒打印一次日志信息。 4. `start_domain()`函数是创建守护进程的核心。首先,调用`domain_init()`初始化环境,然后通过两次`Fork()`来实现子进程的双重 fork 模式,...

Global site tag (gtag.js) - Google Analytics