^ shell

^

行首. 

在正则表达式中, "^" 表示定位到文本行的行首.


控制字符
修改终端或文本显示的行为. . 控制字符以CONTROL  +  key 这种方式进行组合(同时按下). 控制
字符也可以使用8进制 或16进制表示法来进行表示, 但是前边必须要加上转义符.
控制字符在脚本中不能正常使用.
Ctl-B
退格(非破坏性的), 就是退格但是不删掉前面的字符.
Ctl-C
break. 终结一个前台作业.
Ctl-D
从一个shell中登出(与exit很相像).
"EOF" (文件结束). 这也能从stdin中终止输入.
在console或者在xterm 窗口中输入的时候, Ctl-D将删除光标下字符. 当没有字符时, Ctl-

D 将退出当前会话, 在一个xterm窗口中, 则会产生关闭此窗口的效果.

Ctl-G
"哔" (beep). 在一些老式的打字机终端上, 它会响一下铃.
Ctl-H
"退格"(破坏性的), 就是在退格之后, 还要删掉前边的字符.
  1   #!/bin/bash
  2   # Embedding Ctl-H in a string.
  3  
  4   a="^H^H"                  # 两个 Ctl-H's (backspaces).
  5   echo "abcdef"             # abcdef
  6   echo -n "abcdef$a "       # abcd f
  7   #  Space at end  ^              ^  两次退格.
  8   echo -n "abcdef$a"        # abcdef
  9   #   结尾没有空格                    没有 backspace  的效果了(why?).
 10                             # 结果并不像期望的那样.
 11   echo; echo
Ctl-I
水平制表符.
Ctl-J
重起一行(换一行并到行首). 在脚本中, 也可以使用8进制表示法 -- '\012' 或者16进制
表示法 -- '\x0a' 来表示.
Ctl-K
垂直制表符.
当在console或者xterm 窗口中输入文本时, Ctl-K将会删除从光标所在处到行为的全部字
符. 在脚本中, Ctl-K的行为有些不同, 具体请参见下边的Lee Maschmeyer的例子程序.
Ctl-L
清屏(清除终端的屏幕显示). 在终端中, 与clear 命令的效果相同. 当发送到打印机上时,
Ctl-L会让打印机将打印纸卷到最后.
Ctl-M
回车.
  1   #!/bin/bash
  2   # Thank you, Lee Maschmeyer, for this example.
  3  
  4   read -n 1 -s -p $'Control-M leaves cursor at beginning of this 
line. Press Enter. \x0d'
  5                                     # 当然, '0d' 就是二进制的回车. 
  6   echo >&2   #  '-s'参数使得任何输入都不将回显出来.
  7              #+ 所以, 明确的重起一行是必要的.
  8  
  9   read -n 1 -s -p $'Control-J leaves cursor on next line. \x0a'
 10              #  '0a'  等价于Control-J,  换行.
 11   echo >&2
 12  
 13   ###
 14  
 15   read -n 1 -s -p $'And Control-K\x0bgoes straight down.'
 16   echo >&2   #  Control-K  是垂直制表符.
 17  
 18   # 关于垂直制表符效果的一个更好的例子见下边:
 19  
 20   var=$'\x0aThis is the bottom line\x0bThis is the top line\x0a'
 21   echo "$var"
 22   #   这句与上边的例子使用的是同样的办法, 然而:
 23   echo "$var" | col
 24   #   这将造成垂直制表符右边的部分比左边部分高. 
 25   #   这也解释了为什么我们要在行首和行尾加上一个换行符 -- 26   #+  这样可以避免屏幕显示混乱. 
 27  
 28   # Lee Maschmeyer 的解释:
 29   # -------------------------- 30   #   在这里[ 第一个垂直制表符的例子中] . . . 
 31   #+  这个垂直制表符使得还没回车就直接打印下来. 
 32   #   这只能在那些不能" 后退" 的设备中才行, 
 33   #+  比如说Linux的console. 
 34   #   垂直制表符的真正意义是向上移, 而不是向下. 
 35   #   它可以用来让打印机打印上标. 
 36   #  col 工具可以模拟垂直制表符的正确行为. 
 37  
 38   exit 0
Ctl-Q
恢复(XON).
在一个终端中恢复stdin.
Ctl-S
挂起(XOFF).
在一个终端中冻结stdin. (使用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
暂停前台作业.

你可能感兴趣的:(shell,shell,脚本,Linux)