zoukankan      html  css  js  c++  java
  • shell脚本控制字符

    http://www.cublog.cn/u3/104504/showart_2063903.html

    更改终端行为或文本显示. 控制字符都是以CONTROL + key的组合键.

    在脚本文件中控制字符是不起作用的.

    • Ctl-B

      退格 (非破坏性的).

    • Ctl-C

      中断. 终结一个前台作业.

    • Ctl-D

      从一个shell中退出 (类似于exit).

      "EOF" (文件结尾:end of file).它也用于表示标准输入(stdin)的结束.

      在控制台或xterm 窗口输入文本时, Ctl-D删除在光标下的字符.如果没有字符存在,Ctl-D 则会登录出该会话. 在一个xterm窗口中,则会产生关闭此窗口的效果。

    • Ctl-G

      "哔" (beep).在一些老式的打字机终端上,它会响一下铃.

    • Ctl-H

      "杀掉" (破坏性的退格). 删除光标前的一个字符===.

         1 #!/bin/bash
         2 # 在一个字符串里嵌入 Ctl-H.
         3 
         4 a="^H^H"                  # 两个 Ctl-H (退格).
         5 echo "abcdef"             # abcdef
         6 echo -n "abcdef$a "       # abcd f
         7 #以一个空格结尾  ^              ^ 退二格.
         8 echo -n "abcdef$a"        # abcdef
         9 #  现在没有尾部的空格            不退格了 (为什么?).
        10                           # 结果和预料的不一样.
        11 echo; echo

    • Ctl-I

      水平制表符.

    • Ctl-J

      新行(换一行并到行首).

    • Ctl-K

      垂直制表符.

      在控制台或xterm 窗口输入文本时, Ctl-K 会删除从光标所在处到行尾的所有字符。

    • Ctl-L

      清屏 (重绘屏幕,清除前面的打印信息).这与clear命令作用相同.

    • Ctl-M

      回车.

         1 #!/bin/bash
         2 # 多谢Lee Maschmeyer的例子.
         3 
         4 read -n 1 -s -p $'Control-M leaves cursor at beginning of this line. Press Enter. \x0d'
         5                                   # 是的, '0d'是Control-M的十六进制值.
         6 echo >&2   #  '-s'使所有被键入的字符都不回显,
         7            #+ 所以需要明确地键入新行.
         8 
         9 read -n 1 -s -p $'Control-J leaves cursor on next line. \x0a'
        10 echo >&2   #  Control-J 是换行.
        11 
        12 ###
        13 
        14 read -n 1 -s -p $'And Control-K\x0bgoes straight down.'
        15 echo >&2   #  Control-K 是垂直制表符.
        16 
        17 # 展示垂直制表符作用的更好的例子是:
        18 
        19 var=$'\x0aThis is the bottom line\x0bThis is the top line\x0a'
        20 echo "$var"
        21 #  这和上面的例子一样工作.但是:
        22 echo "$var" | col
        23 #  这使行的右端比左端更高.
        24 #  这也解释了为什么我们以一个换行符开始和结束 --
        25 #+ 是为了避免屏幕显示混乱.
        26 
        27 # 这是Lee Maschmeyer的解释:
        28 # --------------------------
        29 #  在第一个垂直制表符例子中 . . . 垂直制表符使还未打印回车就直接垂直打印下来。
        30 #
        31 #  这只在不能“倒后”的设备里才成立,比如在Linux控制台,
        32 #
        33 #  垂直制表符真正的意图是能垂直地往上移,而不是往下移.
        34 #  可以在打印机里用于打印上标.
        35 #  这个要点的作用被用于仿效垂直制表符正确的功能.
        36 
        37 exit 0

    • Ctl-Q

      解冻 (XON).

      它解冻终端的标准输入.

    • Ctl-S

      挂起输入 (XOFF).

      它冻结终端的标准输入. (用 Ctl-Q 可恢复输入.)

    • Ctl-U

      删除从光标到行首的一行输入.在某些设置里,Ctl-U 删除整行的输入,而不管光标的位置.

    • Ctl-V

      当输入一个文本, Ctl-V允许插入控制字符。例如,下面两个命令是相等的:

         1 echo -e '\x0a'
         2 echo 

      Ctl-V 主要用于文本编辑.

    • Ctl-W

      当在控制台或一个xterm窗口敲入文本时, Ctl-W 会删除从在光标处往后的第一个空白符之间的内容.在某些设置里, Ctl-W 删除光标往后到第一个非文字和数字之间的字符.

    • Ctl-Z

      暂停一个前台作业.

  • 相关阅读:
    108. Convert Sorted Array to Binary Search Tree
    How to check if one path is a child of another path?
    Why there is two completely different version of Reverse for List and IEnumerable?
    在Jenkins中集成Sonarqube
    如何查看sonarqube的版本 how to check the version of sonarqube
    Queue
    BFS广度优先 vs DFS深度优先 for Binary Tree
    Depth-first search and Breadth-first search 深度优先搜索和广度优先搜索
    102. Binary Tree Level Order Traversal 广度优先遍历
    How do I check if a type is a subtype OR the type of an object?
  • 原文地址:https://www.cnblogs.com/leaven/p/1957912.html
Copyright © 2011-2022 走看看