Bash介绍详解.ppt
文本预览下载声明
Expr 只能做整数运算 浮点值或其他运算函数可用bc :echo scale=3;$filesize/$downtime | bc | awk {printf %.3f\n,$0} 前两条有误:变量引用必须用双引号,否则为空时出错 第三条可解决变量值为空时的报错,或者通过双引号解决 第四条双括号专做数字比较,但变量值为空或非数字时报错,须做类型检验 man test 注意双封号; 应用场景示例,比较文件差异或取交集 grep -i 忽略大小写 grep -v 只显示未匹配的 grep -w 整个单词匹配 grep -n 同时打印所在行数 grep -E 正则匹配 grep --help grep 直接修改file文件,删除#开头的行 sed -i /^#/d file 先删除头三行再替换字符串 sed -e 1,3d -e s/moding/moden/g file 直接把fileb文件内容追加到filea中匹配位置 sed ‘/text/ r fileb filea sed Bash基础 √ Bash语法 √ 常用命令 √ 经验分享 ? 内容导航 常见错误 调试技巧 脚本规范 其他工具 推荐书目 经验分享 赋值时等号有空格 [[ ]] 测试时没有空格 使用未定义的变量或环境变量不一致 使用带空格的变量时没有加双引号 使用了错误的引号 文件名包含空格或- 定时任务堆积致系统资源耗尽 常见错误 打印出变量的值观察 打印出要执行的命令观察 观察命令的返回值 把crontab中执行的脚本做重定向观察错误提示 set -x 观察脚本的执行过程 调试技巧 脚本规范 #!/bin/bash ################################################ # Description: # Author: # Version: # History: ################################################ export PATH=$PATH:/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/usr/local/mysql/bin var_a=$1 var_b=$2 if [ -z $var_a -o -z $var_b ] ;then echo usage:$0 input_a input_b exit 1 fi ... 《abs-guide》 《LINUX与UNIX SHELL编程指南》 《bash中文手册》 参考ppt:乐视网 技术与研发中心 运维部 陈真 推荐书目 应用场景示范iplistcss whitch rm 一般在(伪)终端、控制台下启动,与用户交互的shell 运行“bash”这个命令可以启动 bash读取配置: .bashrc Interactive Bash Bash脚本一般为可读、可执行的文本文件 Bash首行使用 #! /bin/bash 或#! /bin/sh 包含若干变量、命令、程序逻辑以实现一定的目的 Non-Interactive Bash Bash脚本优点 简单、快速 不需要 编译 灵活 高效 /etc/vimrc 或 ~/.vimrc中配置 syntax on 语法高亮 set number 显示行数 set shiftwidth=4 四格缩进 set tabstop=4 四格缩进 set expandtab tab转space set bg=light 背景为亮色 color murphy 配色方案 Bash脚本与Vim配置 Bash基础 √ Bash语法 ? 常用命令 经验分享 内容导航 变量 数值运算 流程控制 命令 函数 Bash语法 变量定义: name=value 变量引用: $name 注意: =号两边不允许空格,也不像php需要加$ $name是${name}的简写 (变量值后如需紧跟其他字符,则必须用大括号将变量名括起来) 变量 $? 退出状态变量,保存一个命令/函数的退出状态。 $! 最后一个后台进程的pid $$ 当前进程的pid $0 当前程序名称 $n n为1,2...n, 脚本或函数的参数 $#: 所给的参数个数 $*: 所有给出的参数 “$@” 双引号必须,类似$*,但结果被替换为”$1”,”$2”…… () 在()中的命令列表将作为一个子shell来运行 常用变量 $(command) 保存括号内命令的执行结果,同`command` $((experss
显示全部