Korn Shell编程速查表

需积分: 1 0 下载量 80 浏览量 更新于2024-09-07 收藏 94KB PDF 举报
"这份资源是关于Korn Shell(KSH)编程的速查表,它包含了Korn Shell中的特殊字符、输入/输出重定向等关键概念,对于提高编写和理解KSH脚本的工作效率有很大帮助。" Korn Shell,通常简称为KSH,是一种功能丰富的Unix shell,具有Bash shell的许多特性,同时增加了更多的命令和语法优化。在项目中,特别是在自动化任务和脚本编写方面,KSH被广泛使用。以下是对Korn Shell编程速查表中涉及的一些关键知识点的详细说明: 1. **特殊字符**(Metacharacters): 特殊字符如`$`, `!`, `*`, `?`, `(`, `)`, `[`, `]`, `;`, `&`, `|`, `<`, `>`, `~`等在shell中都有特殊含义。如果需要作为普通字符使用,需要通过在前面添加反斜杠`\`进行转义,或者将它们包含在双引号`"`或反引号`` ` ``中。 2. **双引号**(Double Quotes): 在双引号内,参数替换和命令替换会发生。这意味着在双引号内的变量会被其值替换,例如`"$var"`会变成变量`var`的值。反斜杠`\`和引号`"`会被保留,但反引号`$`会触发命令替换。 3. **反引号**(Grave Quotes): 在反引号内,`$`和`"`都会被保留,如果反引号出现在双引号内,`$`也会被保留。这常用于执行命令并获取其输出,如`echo `date``会打印当前日期。 4. **输入/输出重定向**(Input/Output Redirection): - `< file`:将`file`作为标准输入(文件描述符0)。 - `> file`:将命令的输出重定向到`file`,如果文件存在则覆盖,否则创建新文件。 - `>| file`:同上,但强制覆盖,即使文件描述符设置为noclobber。 - `>> file`:追加到`file`,如果文件存在则在其后添加,否则创建新文件。 - `<&digit`:将数字`digit`表示的标准输入复制到当前标准输入。 - `>&digit`:将当前标准输出复制到数字`digit`表示的标准输出,例如`>&2`将标准输出重定向到标准错误。 5. **Here Document**(Here Document): Here文档允许你将多行文本输入到命令中。以`<<word`开始,shell会读取直到遇到`word`(未被引用的`word`将进行参数和命令替换,新的行会被忽略,除非使用`\`转义)。例如,`cat <<EOF`会将所有行读取到EOF为止。 6. **Here Document with Leading Tabs Stripped**(带有前导制表符的Here Document): 使用`<<-word`,可以去掉here文档开头的制表符,方便格式化输入。 这些基本操作和概念构成了Korn Shell编程的基础,掌握它们对于编写高效、可维护的KSH脚本至关重要。在实际工作中,利用这些速查信息,开发者可以快速查阅和应用相关知识,提高生产力。