shell编程入门笔记

脚本执行方式

echo [选项] [输出内容] 
选项: -e : 支持反斜杠控制的字符转换
\b:向左删除一个字符
\n:换行符
\r:回车符
\t:制表符
\v:垂直制表符
\0nnn:按照八进制ascII码表输出字符
\xhh:按照十六进制ascII码表输出字符

脚本第一行要写: #!/bin/bash 来指定当前所用脚本类型
脚本支持颜色显示: echo -e "\e[1;31m世界,你好\e[0m "
可以通过bash调用执行脚本: bash hello.sh
也可以赋予执行权限直接运行: chmod 755 hello.sh ; ./hello.sh

别名与快捷键

alias : 查看系统中所有的命令别名
alias 别名 = “原命令” : 暂时命名别名
vi ~/.bashrc : 使别名永久生效
unalias : 删除别名
命令生效顺序:
第一顺位执行用绝对路径或相对路径执行的命令
第二顺位执行别名命令
第三顺位执行bash内部命令
第四顺位执行按照$PATH环境变量定义的目录查找顺序找到的第一个命令

ctrl+c:强制终止当前命令
ctrl+l:清屏
ctrl+a:光标移动到命令行首
ctrl+e:光标移动到命令行尾
ctrl+u:从光标所在位置删除到行首
ctrl+z:把命令放入后台执行
ctrl+r:在历史命令中搜索

输入输出重定向

标准输入设备:键盘 文件描述符: 0
标准输出设备:显示器 文件描述符: 1
标准错误输出设备:显示器 文件描述符: 2
命令>文件 2>&1 或者 命令 &>文件: 以覆盖方式将正确和错误输出保存到同一个文件当中去
命令>>文件 2>&1 或者 命令 &>>文件: 以追加方式将正确和错误输出保存到同一个文件当中去
命令 >> 文件1 2>>文件2 : 正确的输出追加到文件1,错误信息的输出追加到文件2
注意:对于错误的输出,需要注意>和文件之间没有空格

wc [选项] [文件名]
选项:
-c : 统计字节数
-w : 统计单词数
-l : 统计行数
命令<文件:把文件作为命令的输入
命令<<标识符:把标识符之间的内容作为命令的输入

历史命令

history [选项] [历史命令保存文件]
选项: -c 清空历史命令
-w : 将缓存中的历史命令写入历史命令保存文件~/.bash_history
用上下箭头来调用以前的历史命令
用"!n"重复执行第n条历史命令
用"!!“重复执行上一条历史命令
用”!字符"重复执行最后一条以该字符开头的命令
命令补全用tab键

管道符和通配符

; : 前后命令之间没有关系
&& : 前边正确执行后边才执行,否则后边不执行
|| : 前边正确执行后边不执行,否则后边执行
eg : ls && echo yes || echo no判断前边命令是否正确执行,&&和||不能颠倒顺序
| : 管道符,左边命令的输出会作为右边命令的输入
*: 匹配任意字符,可以为0个
? : 匹配任意一个字符
[] : 匹配[]内任意一个字符
[ - ] : 匹配[]内范围的任意一个字符
[ ^ ] : 匹配非[]内的任意一个字符

bash中其他特殊符号

’ ’ : 单引号,其中任何特殊符号没有含义
" " : 双引号,除了$ ,` , \ 外其他特殊符号均无含义
反引号其中的内容是系统命令,会在bash中首先执行,和$()一样,推荐使用后者
$ : 用于调用变量的值
#: #开头表示注释
\ : 转义符

posted @ 2020-04-08 11:15  go_and_get_it  阅读(4)  评论(0)    收藏  举报  来源