您的位置:首页 > 运维架构 > Shell

shell脚本学习笔记

2015-01-21 19:32 309 查看
以项目中的JS绑定脚本为例来学习。

# 注释标志

>输出到文件

>>追加到文件

<<表示后面的是输入的结束符

cat>err.txt<<EOF
> aaaa
> 12321
> EOF

实际是将

aaaa
12321
输入到err.txt

getopts用于对命令行参数做处理,即调用脚本时后面带的-n之类的参数。语法如下:

getopts 选项字符串 变量

case语句

case [目标] in

选项1);;

选项2);;必须以双分号结束

esac

while [命令] do

…………

…………

done

echo 打印

$变量 表示获取变量的值,${}表示花括号中是一个变量

wc 即wordCount命令,用于统计字数,-l表示统计行数

选项如果不带参数可以写在一起,例如 -l -t 可以写成-lt

给变量赋值时,如果值中含有空格需要使用双引号。

grep 文本匹配,使用正则表达式;egrep是它的扩展。

fgrep匹配固定字符串

basename 显示一个文件路径中的文件名

pwd 查看当前目录的完整路径

DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"  获取当前脚本的所在路径

其中BASH_SOURCE[0]指脚本所在路径与当前路径的相对路径,dirname取得目录

cd + 目录的命令切换到脚本所在目录,然后用pwd取得该目录的完整路径

shell命令中的&&表示 前一个命令返回成功之后,后一个命令才执行。

source命令,也称点命令,指把另一个shell文件里的命令全部加载进父文件,即其中的变量等变化全部在父文件生效。

-z +字符串 :如果字符串为空则返回真值

数组: array[*]或者array[@]表示整个数组,#array 表示获取数组的长度
-lt 小于 less than

let和(())都可用于变量赋值

${var##*string} 删掉var 中最后一个string及其左边的字符串

$0 取得脚本文件名
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: