欢迎来到天天文库
浏览记录
ID:39465080
大小:68.50 KB
页数:8页
时间:2019-07-04
《Korn Shell(ksh)文档》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、KornShell 1.语法 特殊的文件/etc/profile 在登录时首先自动执行。$HOME/.profile 在登录时第二个自动执行。$ENV 在创建一个新的KShell时指定要读的一个文件。文件名元字符* 匹配有零或零个以上字符的字符串? 匹配任何单个字符[abc…] 匹配括号内任何一个字符,也可用连字符指定一个范围(例如,a-z,A-Z,0-9)[!abc…] 匹配任何不包括在括号内的字符 ?(pattern) 匹配模式的零个或一个实例*(pattern) 匹配指定模式的零个或多个实例+(pattern) 匹配指定模式的一个或多个实例@(pat
2、tern) 只匹配指定模式的一个实例!(pattern) 匹配任何不匹配模式的字符串 匹配与(…)中的第n个子模式匹配的文本。~ 当前用户的主目录~name 用户name的主目录 这个模式pattern可能是由分隔符“
3、”或“&”分隔的模式的序列,例:pr!(*.o
4、core)
5、lp引用; 命令分隔符& 后台执行() 命令分组
6、 管道<>& 重定向符号*?[]~+-@! 文件名元字符““ 中间的字符会逐字引用,除了`` 替换命令和$ 替换变量.‘’ 中间的所有字符都会逐字引用 在其后的字符会按其原来的意义逐字采用.如在””中使用 ”,`,
7、$ a 警告,b退格,f 换页, 换行,r 回车, 制表符,v 垂直制表符,nn 八进制值,xnn 十六进制值,’ 单引号,” 双引号,\ 反斜线,`` 命令的替换$ 变量的替换命令形式Cmd& 在后台执行Cmd1;cmd2 命令序列,依次执行{cmd1;cmd2;} 将命令做为一组来执行(cmd1;cmd2) 在子shell中,将命令做为一组执行Cmd1
8、cmd2 管道;将cmd1的输出作为cmd2的输入Cmd1`cmd2` 命令替换;用cmd2的输出作为cmd1的参数Cmd1$(cmd2) 命令替换,可以嵌套Cmd$((
9、expression)) 运算替换。用表达式结果作为参数Cmd1&&cmd2 逻辑与。如果cmd1成功才执行cmd2Cmd1
10、
11、cmd2 逻辑或。如果cmd1成功则不会执行cmd2重定向形式文件描述符:0 标准输入 stdin 默认为键盘1 标准输出 stdout2 标准错误 stderr Cmd>file 将cmd的结果输出到file(覆盖)Cmd>>file 将cmd的结果输出到file(追加)Cmd12、xt一样的标记为止)作为cmd的输入Cmd<>file 在标准输入上打开文件以便读写 Cmd>&n 将输出发送到文件描述符n。ll>&1Cmdm>&n 将本来输出的m中的内容转发到n中。Ll3>&2Cmd>&- 关闭标准输出Cmd<&n 获取输入Cmdm<&nCmd<&- 关闭标准输入在文件描述符和一个重定向符号间不允许有空格。 Cmd2>file 将标准错误发到file中Cmd>file2>&1 将标准错误和标准输出都发到fileCmd>f12>f2 将标准输出发到f1,标准错误发到f2Cmd13、teefiles 将输出发送到标准输出和files中Cmd2>&114、15、teefiles 将输出和错误同时发到标准输出和files中2.变量 变量替换下列表达式中不允许使用空格。冒号是可选的,如果用冒号那么变量必须是非空的并设置了初始值。Var=value… 将变量var 设为value${var} 使用变量var的值;如果变量和其后面的文本是分开的则可以不加大括号。${var:-value} 如果变量var已设置则使用它,否则使用值value${var:=value} 如果变量var已设置则使用它,否则使用值value并将value赋给变量var${var:+value} 如果变量var已设置则使用value,否则什么也不使用 例16、:echo${u-$d};echo${tmp-`date`}如果没设tmp,则执行date;内置变量$# 命令行参数的个数$? 上一条命令执行后返回的值$$ 当前进程的进程号(PID), 通常用于在shell脚本中创建临时文件的名称$0 第一个参数即命令名$n 命令行上的第n个参数$* 将命令行上所有参数作为一个字符串$@ 命令行上所有参数,但每个参数都被引号引起来 LINENO 脚本或函数内正在执行的命令的行号OLDPWD 前一个工作目录(由CD设置)PPID 当前SHELL的父进程的进程号PW
12、xt一样的标记为止)作为cmd的输入Cmd<>file 在标准输入上打开文件以便读写 Cmd>&n 将输出发送到文件描述符n。ll>&1Cmdm>&n 将本来输出的m中的内容转发到n中。Ll3>&2Cmd>&- 关闭标准输出Cmd<&n 获取输入Cmdm<&nCmd<&- 关闭标准输入在文件描述符和一个重定向符号间不允许有空格。 Cmd2>file 将标准错误发到file中Cmd>file2>&1 将标准错误和标准输出都发到fileCmd>f12>f2 将标准输出发到f1,标准错误发到f2Cmd
13、teefiles 将输出发送到标准输出和files中Cmd2>&1
14、
15、teefiles 将输出和错误同时发到标准输出和files中2.变量 变量替换下列表达式中不允许使用空格。冒号是可选的,如果用冒号那么变量必须是非空的并设置了初始值。Var=value… 将变量var 设为value${var} 使用变量var的值;如果变量和其后面的文本是分开的则可以不加大括号。${var:-value} 如果变量var已设置则使用它,否则使用值value${var:=value} 如果变量var已设置则使用它,否则使用值value并将value赋给变量var${var:+value} 如果变量var已设置则使用value,否则什么也不使用 例
16、:echo${u-$d};echo${tmp-`date`}如果没设tmp,则执行date;内置变量$# 命令行参数的个数$? 上一条命令执行后返回的值$$ 当前进程的进程号(PID), 通常用于在shell脚本中创建临时文件的名称$0 第一个参数即命令名$n 命令行上的第n个参数$* 将命令行上所有参数作为一个字符串$@ 命令行上所有参数,但每个参数都被引号引起来 LINENO 脚本或函数内正在执行的命令的行号OLDPWD 前一个工作目录(由CD设置)PPID 当前SHELL的父进程的进程号PW
此文档下载收益归作者所有