shell编程之SHELL基础(1)

shell脚本基础

shell是一个命令行解释器,她为互用提供了一个想linux内核发送请求以便运行程序的界面系统级程序,用户可以用shell来启动。挂起。停止甚至编写一些程序。

shell还是一个功能相当强大的编程语言,易编写,易调试,灵活醒较强。shell是解释执行的脚本语言,在shell中可以直接调用linux系统命令

脚本的执行

1 echo输出命令
echo [选项][输出内容]
选项:
 -e : 支持反斜线控制的字符串转换
控制字符作用
\a输出警告音
\b退格键,也就是像左删除健
\n换行符
\r回车健
\t制表符,也就是tab
\v垂直制表符
\0nnn按照八进制acsii表输出字符,其中0未数字零,nnn是三位八进制
\xhh安卓十六进制输出输出字符
在echo中输出颜色  echo -e "\e[1;31m aaaa \e[0m"

30m =  黑色, 31m = 红色, 32m = 绿色,33m = 黄色
34m = 蓝色  , 35m = 洋红, 36买= 青色, 37m = 白色
2 第一个脚本


#i/bin/bash


#i/bin/bash
#the first program

echo -e "\e[1;34m hello \e[0m"
3 脚本执行

赋予执行权限,直接运行

  • chmod 755 hello.sh
  • ./hello.sh

通过bash调用执行脚本

  • bash hello.sh
4 常用快捷键
  • ctrl+c 强制终止当前命令
  • ctrl+l 清屏
  • ctrl+a 光标移动到命令行首
  • ctrl+e 光标移动到命令行尾
  • ctrl+u 从光标所在位置删除到行首
  • ctrl+z 把命令放入后台
  • ctrl+r 在历史命令中搜索

bash的基础命令

1 命令别名和快捷键
alias
#查看系统中所有的命令别名

alias 
别名 = ‘原命令’临时生效

vi ~/.bashrc
#写入环境变量配置文件

unalias 别名
#删除别名
2 命令生效的顺序
  • 第一顺位执行绝对路径或相对路径执行的命令
  • 第二顺位执行别名
  • 第三顺位执行bash的内部命令
  • 第四顺位执行按照$PATH环境变量定义的目录查找顺序找到的第一个命令
echo $PATH
/usr/local/server/node/bin:/usr/local/bin:/bin:/usr/bin:/usr/local/sbin:/usr/sbin:/sbin:/home/chenjinxin/bin
2 历史命令
history 查看历史命令
-c 清空历史命令
-w 把缓存中的历史命令写入历史命令保存文件 ~/.bash_history

历史命令的调用

  • 使用上下箭头调用以前的历史命令
  • 使用'!n'重复执行第n条历史命令
  • 使用'!!'重复执行上一条命令
  • 使用'!字串'重复执行最后一条以该字符串开头的命令
3 输出重定向
1 标准输入输出
设备设备文件名文件描述符类型
键盘/dev/stdin0标准输入
显示器/dev/sdtout1标准输出
显示器/dev/sdterr2标准错误输出
2 输出重定向
类型符号作用
标准输出重定向命令 > 文件以覆盖的方式,把命令的正确输出输出到指定的文件或者设备当中
标准输出重定向命令 >> 文件以追加的方式,把命令的正确输出输出到指定的文件或者设备当中
标准错误输出重定向错误命令 2> 文件以覆盖的方式,把命令的错误输出输出到指定的文件或者设备当中
标准错误输出重定向错误命令 2>> 文件以追加的方式,把命令的错误输出输出到指定的文件或者设备当中
正确输出和错误输出同时保存命令 > 文件 2&1覆盖
正确输出和错误输出同时保存命令 >> 文件 2&1追加
正确输出和错误输出同时保存命令 &> 文件覆盖
正确输出和错误输出同时保存命令 &>> 文件 2&1追加
正确输出和错误输出同时保存命令 >> 文件1 2>>文件2正确追加到1,错误追加到2
3 输入重定向
    wc [选项][文件名]
    选项: 
    -c 统计字节数
    -w 统计单词数
    -l统计行数
    然后ctrl  + d 显示统计
    
    << access.log
4 多命令顺序执行
1 多命令顺序执行
多命令执行符格式作用
;命令1; 命令2多个命令顺序执行,命令之间没有任何逻辑联系
&&命令1 && 命令2逻辑与 当前命令1正确执行,则命令2才能执行当命令1执行不正确,测命令2不会执行
||命令1 || 命令2逻辑或 当命令1执行不正确,测命令2才会执行 当命令1正确执行,测命令2不会执行
2 管道符

命令1 | 命名2 命令1的输出结果作为命令2的输入内容

比如 ps aux | grep node

5 shell中特殊字符
1 通配符
通配符作用
?匹配一个任意字符
*匹配0个或任意多个任意字符,也就是可以匹配任何内容
[]匹配括号中任意一个字符
[-][0-9]
[^][^0-9]在括号内的字符
2 bash中的其他特殊符号
符号作用
''没有特殊的意义
""一般没什么意义
``内容系统命令
$()和反引号一样,用来引用系统命令
#在shell脚本中,#开始的行代表注释
$用于调用变量的值,入需要调用变量name的值是,需要用$name的值时,需要用$name的方式得到变量的值
\转义符,回到本来的意思

转载于:https://www.cnblogs.com/chenjinxinlove/p/7121854.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值