zoukankan      html  css  js  c++  java
  • 3.2 shell输入输出

    shell输入与输出:

     read :

      read语句可以从键盘或者文件的某一行文本中读入信息,并将其赋值给一个变量。 

      read  var1  var2  ...    若只指定了一个变量,那么read将会把所有的输入赋值给该变量,直至遇上第一个文件结束符或者回车。 如果给了多个变量,它们按照顺序分别赋予不同的变量。shell将用空格作为变量之间的分隔符。

    read示例如下,同时展示了回车不换行:

    光标停留在了First name之后,这叫回车不换行。不加-n的话,光标会跑到下一行。

    cat:

    cat  filename | more,可以一屏一屏的翻页。

    tee示例:

    who命令查看谁登录到服务器上了,如下所示:

    标准输入、标准输出、标准错误:

    文件重定向是改变文件运行的输入来源和输出地点:

     2>&1表示标准错误要和标准输出重定向到一个地方。标准输出一般是先重定向到一个文件,如上图中的示例所示。

    标准输出重定向:

    标准输入重定向:

     标准错误重定向:

     

    exec拉起一个脚本,当前用户会退出,实验中,命令行窗口直接关闭了。当exec不和文件描述符在一起时,会关闭当前shell。

    exec只有对文件描述符进行操作时,也仅有这样时,它不会覆盖当前的shell。

    示例如下:

     1 #!/bin/bash
     2 
     3 exec 3<&0 0<file1.txt
     4 
     5 read line1
     6 read line2
     7 
     8 exec 0<&3
     9 
    10 echo $line1
    11 echo $line2

    第三行中,将0号文件描述符缓存到3号中,将0号重定向到file1.txt文件。第8行中将文件描述符3恢复到0号文件描述符。

    执行结果如下:file1.txt中的第一行为aaa bbb,没有第二行,所以line2为空,aaa bbb都赋值给了line1。

  • 相关阅读:
    mysql 函数 存储过程 事件(event) job 模板
    protobuf 无proto 解码 decode 语言 java python
    mitmproxy fiddler 抓包 填坑
    android adb 常用命令
    android机器人 模拟 踩坑过程
    RabbitMQ添加新用户并支持远程访问
    Windows下RabbitMQ安装及配置
    Java mybatis mysql 常用数据类型对应关系
    easyExcel 踩坑
    linux防火墙查看状态firewall、iptable
  • 原文地址:https://www.cnblogs.com/wanmeishenghuo/p/9382001.html
Copyright © 2011-2022 走看看