zoukankan      html  css  js  c++  java
  • 2.5.5.2 特殊文件:/dev/null 与 /dev/tty

        UNIX 系统提供了两个对Shell编程特别有用的特殊文件。
     
        第一个文件 /dev/null ,就是大家所熟知的位桶(bit bucket)。传送到此文件的数据都会被丢掉。换句话说,当程序将数据写入到此文件时,会认为它已经完成写入数据的操作,而实际上什么事都没做。如果需要的是命令的退出状态,而非它的输出,此功能会很有用。
        
        例如,测试一个文件是否包含某个模式(pattern):
            if grep pattern myfile > /dev/null
            then 
                ...                 找到pattern时需要做的操作
            else
                ...                 未找到pattern时需要做的操作
            fi
     
    [many@avention test]$ cat 6.txt
    fdsv
    [many@avention test]$ if grep a 6.txt > /dev/null
    > then
    > echo "a in 6.txt"
    > else
    > echo "a not in 6.txt"
    > fi
    a not in 6.txt
     
        相对地,读取 /dev/null 则会立即返回文件结束符号(end-of-file)。读取 /dev/null的操作很少会出现在Shell程序里。
     
        另一个特殊文件为 /dev/tty 。当程序打开此文件时,UNIX会自动将它重定向到一个终端 【一个实体的控制台(console)或串行端口(serial port),也可能是一个通过网络与窗口登录的伪终端(pseudoterminal)】再与程序结合。这在程序必须读取人工输入(如用户名、密码等)特别有用。
     
        
  • 相关阅读:
    集合容器概述
    enum枚举类型
    this关键字、this()、super()
    重载与重写
    nginx报404的可能错误
    nginx常用命令
    vbs系统监控
    VBS windows监控
    Oracle SQL优化[转]
    shell /bin/bash^M: bad interpreter错误解决
  • 原文地址:https://www.cnblogs.com/avention/p/9688840.html
Copyright © 2011-2022 走看看