Shell 学习笔记(一)特殊字符
1、点(.)字符匹配.作为正则表达式的一部分,匹配字符时,单点(.)表示匹配任意一个字符
?
2、: [冒号].
???????? 空命令?这个命令意思是空操作(
?
7、 |
???????管道以新进程方式运行
?
8、 -
?????? 用于stdin或stdout重定向的源或目的
?????? e.g.? 当用管道时,对于多参数,就可以用-解决啦,重定向源: grep Linux file1 | diff file2 -
????????????????????????????????????????? 重定向目的: tar -cvf - file1 > file2.tar
?
?
9、!??????感叹号表历史命令
??????在命令行上,把感叹号"!"放在双引号里执行命令会出错(译者注:比如说:echo "hello!"). 因为感叹号被解释成了一个历史命令. 然而在一个脚本文件里,这么写则是正确的,因为在脚本文件里Bash的历史机制被禁用了。
?
10、双引号 单引号
????? 使用双引号除了变量名前缀($)、后引符(`)和转义符(\)外,其余均只解释为字面
?
??????在单引号内,除了字符',每个特殊字符都只是字面的意思。单引号(全局引用)比双引号(部分引用)更严格的处理引用部分。
??????若想打印 ‘号: echo \'
????????????????????????????? echo 'can' \' 't'???????? #can ' t
??????????????????????????????echo 'can'\''t'?????????? #can't
?
11、转义
????? \v? :?? 垂直制表符
??????\a? :?? 蜂鸣声(禁止操作声音)
?
?????echo -e “\n”??????????? ==???????? echo $'\n'
?????$'\xxx'? : 转义字符取值???? e.g. ABC=$'\101\102\103\010\t'
????
???? 出乎意料:
?????echo \z???????????????????? #? z
???? echo "\z"??????????????????# \z????
?????echo `echo \\z`?????? # z??????
?????echo `echo \\\z`????? # \z???? 未转义过的还可加\转义,已转义过的之前\只能输出字面啦
?????echo `echo "\z"`????? # \z???? 双引号一加,就绝对化啦
?????
?????转义\的赋值
?????variable=\
???? 23skidoo
???? echo "$variable"??????? #? 23skidoo???这样就能工作,因为\将其后的换行符转义了哦
?
12、快捷操作
????? ctl+D:标准输入结束????? ctl+H:Backspace??????ctl+K:在控制台或xterm 窗口输入文本时, Ctl-K 会删除从光标所在处到行尾的所有字符??????ctl+L:清屏????? ctl+U:删除从光标到行首的一行输入.在某些设置里,Ctl-U 删除整行的输入,而不管光标的位置.????? ctl+W:删除前面的词,直到遇到空格