• 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)】再与程序结合。这在程序必须读取人工输入(如用户名、密码等)特别有用。
     
        
  • 相关阅读:
    字和字节和位的关系
    什么是arp协议?
    Python解释器有哪些?Python解释器种类
    简述解释型和编译型编程语言?
    Python3基础(五) 函数
    Python3基础(四) 条件与循环控制
    Python3基础(三) 运算符
    Python3基础(一) Hello World
    1987年国际C语言混乱代码大赛获奖的一行代码
    C++学习之普通函数指针与成员函数指针
  • 原文地址:https://www.cnblogs.com/avention/p/9688840.html
Copyright © 2020-2023  润新知