linux的SHELL编程

管道 | 特殊的重定向
前一个命令的输出作为后一个命令的输入;
管道连接的命令数没有限制;

who|wclps |sort|more 按序显示当前进程名

字符:具有特定作用的特殊字符

,<,>>,<< 重定向

符号 功能
> 输出重定向
>
输出重定向并追加到文件;
< 输入重定向;
<< 输入重定向并追加到文件;

” 字符串定界符
字符串一般放在一对双引号中间,防止变量
被空格分开,同时又允许$扩展

通配符

符号 功能
* 匹配零个或多个字符
? 匹配任意单个字符
[…] 匹配方括号内包含任何一个字符
[^…] 匹配不包含在方括号内的任何一个字符
{s1,s2,…,sn } 匹配集合中任意一个字符串

命令替换
command , $(command):替换为command的输出

$echo the date is `date`
the date is 20171213日 星期三 21:26:35 CST
$echo there are$(who|wc -l)users on the system
there are1users on the system

命令序列和组合命令

符号 功能
; 组成命令序列
(…..) 组合命令
$date;pwd;ls
$date>date.txt;ls;pwd>pwd.txt
(date;ls;pwd)>out.txt

条件执行序列

符号 功能
如果前一个命令执行失败,执行下一个命令
&& 如果前一个命令执行成功,执行下一个命令

(或代表 ||)

& 后台运行

符号 功能
command & 后台运行,你关掉终端会停止运行
nohup command & 后台运行,你关掉终端也会继续运行

shell脚本

一个shell脚本可以包含:
(1)命令
(2)位置参数
(3)变量及表达式
(4)结构控制语句
(5)函数
(6)其他shell脚本

Shell脚本常用命令

符号 功能
break 跳出一层循环
: 空命令
continue 跳出一次循环
. 在当前shell中执行命令
echo 输出字符串(带换行符)
eval 对参数求值
exit n 以退出码结束脚本运行(0表示运行成功)
export 声明环境变量
printf 输出字符串(可指定格式)
$((…)) 表达式求值
return 函数返回(默认返回最后一条命令的退出码)
set 为shell设置参数变量
shift 除了$0的所有参数变量左移一位
find 搜索文件
grep 过滤字符串

正则表达式
如何

posted @ 2017-12-14 00:00  Bryce1010  阅读(84)  评论(0编辑  收藏  举报