• 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

      暂停一个前台作业.

  • 相关阅读:
    PHP之PHPExcel X
    Docker之基础(一) X
    Django Admin之常用功能汇总 X
    pycharm中配置启动Django项目 X
    银联支付接入新一代 X
    pycharm集成Jupyter Notebook X
    Django之model外键 X
    Django之添加prometheus监控 X
    Yii2 中配置方法汇总 X
    python常用模块汇总 X
  • 原文地址:https://www.cnblogs.com/leaven/p/1957912.html
Copyright © 2020-2023  润新知