shell 函数
- 系统函数
- 自定义函数
函数命令组成的语句块
basename系统函数
用于获取文件名的函数,根据给出文件路径截取出文件名
basename [string/pathname] [suffix]
中间的参数用于指定文件路径,suffix 指定后缀;用于截取的时候去掉后缀名;
dirname 系统函数
用于指定的文件绝对路径,去除文件名,返回剩下前缀目录路径
dirname 文件绝对路径
自定义函数
[function] funname()
{
命令
[return 返回值]
}
函数的定义
函数的调用
funname 参数一 参数2 ...
shell程序与函数的区别
shell程序(内置命令和外部脚本文件)在子shell中运行,会开启独立的子进程运行
shell函数在当前的shell进程中运行
shell重定向的输入输出
标准输入输出:通过键盘读入输入数据,然后把数据拿到shell程序中使用;shell程序产生数据,这戏数据一般都是呈现到显示器上浏览观看,
重定向 :改变了数据的方向数据就从其他地方流入,这就是输入从定向,改变输出方向就是输出重定向;
重定向的作用:不在输出到显示器上,最大好处就是把命令结果保存起来;需要的时候可以随时查询;
默认输入输出文件
stdin |标准输入文件(standard input )|文件描述符(0)|功能:获取键盘的输入数据
文件名 | 类型 | 文件描述付(fd) | 功能 |
---|---|---|---|
stdin | 标准输入文件(standard input ) | 获取键盘的输入数据 | |
stdout | 标准输出文件 | 1 | 将数据正确输出到显示器 |
stderr | 标准错误输出文件 | 2 | 将错误信息输出到显示器 |
重定向语法
命令 | 说明 | |
---|---|---|
命令>file | ||
命令<file | 将file中的数据 | |
命令>>file | 将正确的数据重定向输出到文件file中,追加方式 | |
命令<file1>file2 | 从文件1中读取数据,输出数据到文件2中 | |
命令 fd>file | 指定文件描述符,将数据重定向输出到文件file中,覆盖方式 | |
命令>file fd1>&fd2 | 将fd1和fd2文件描述符文件合并输出到文件中 | |
fd1<&fd2 | 将fd1和fd2文件描述符合并从文件读取输入 | |
<<tag | 读取终端输入数据, |
wc命令
wc [option] [文件名]
-c
character,统计字节数
-w
word,统计单词数
-l
line ,统计行数
可以对文本进行统计,包括单词个数行数字节数
wc -l <test.txt