1. 入门
why
简单性 可移植性 易开发性
who | wc -l 统计用户个数
| 管道
脚本开头一般写法 #! /bin/sh 注意尽量不要超过64个字符
重定向及管道 < > |
特殊文件
/dev/null
exp: if grep pattern myfile > /dev/null then ... else ... fi
主要是获得执行后的状态,而不是结果
/dev/tty 重定向到一个终端, 一般用来获取人工输入
命令跟踪
sh -x mysh.sh
或set -x 打开跟踪, set +x 关闭
LANG设置默认语言
LC_ALL 覆盖所有LC_XXX的语言
locale -a 显示所有支持的语言
2. some cmd
grep 基本的正则匹配
egrep 扩展的正则匹配
fgrep 固定字符串匹配, 可多个
grep -F 等于 fgrep , 实际上 grep 后表达式里没有正则的, 就默认是-F
正则介绍
/ * . ^ $ [] {n,m} + ? | ()
[:alpha:] 英文字符集
[.ch.] 一个字符ch
[=e=] 等价字符集
[^aeiouy] 表示所有小写原音字母外的
sed 命令
who |sed 's/:.*' | sort -u
sed -n '10,42p' foo.xml
sed '/foo/,/bar/ s/aaa/bbb/g' foo.xml
who | sed '/dev5/!s/pts/ppt/'
sed '/^#/d' t.sh 删注释
cut
ls -l | cut -c 1-10
cut -d : -f 1,3 /etc/passwd
awk
awk 'NF>0 ' t.sh
awk -F: -v 'OFS=**' '{print $1,$2}' /etc/passwd
Shell 脚本学习指南 读书笔记01
猜你喜欢
转载自foxmails.iteye.com/blog/963272
今日推荐
周排行