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。

  • 相关阅读:
    css 写一个三角形
    vue 知识汇总,中级阶段的。
    获取url参数封装的
    vue 知识点
    不换行css
    微信小程序的横向滚动
    git提交本地分支到远程分支
    linux shell head tail 用法简介
    PHP服务重启
    MongoDB用户创建
  • 原文地址:https://www.cnblogs.com/wanmeishenghuo/p/9382001.html
Copyright © 2011-2022 走看看