`
#rethink#
  • 浏览: 47481 次
  • 性别: Icon_minigender_1
  • 来自: 厦门
社区版块
存档分类
最新评论

(转载)shell输入、输出

阅读更多

1、echo:

使用e c h o命令可以显示文本行或变量,或者把字符串输入到文件。它的一般形式为:

echo string

echo命令有很多功能,其中最常用的是下面几个:

\c 不换行。

\f 进纸。

\t 跳格。

\n 换行。

用反斜杠\来使shell忽略它的特殊含义

使用- n选项来禁止echo命令输出后换行

使用-e选项才能使转义符生效

【转义字符是C语言中表示字符的一种特殊形式。通常使用转义字符表示ASCII码字符集中不可打印的控制字符和特定功能的字符,如用于表示字符常量的单撇号( '),用于表示字符串常量的双撇号( ")和反斜杠( \)等。转义字符用反斜杠\后面跟一个字符或一个八进制或十六进制数表示。

转义字符 意义 ASCII码值(十进制)

\a 响铃(BEL) 007

\b 退格(BS) 008

\f 换页(FF) 012

\n 换行(LF) 010

\r 回车(CR) 013

\t 水平制表(HT) 009

\v 垂直制表(VT) 011

\\ 反斜杠 092

\? 问号字符 063

\' 单引号字符 039

\" 双引号字符 034

\0 空字符(NULL) 000

\ddd 任意字符 三位八进制

\xhh 任意字符 二位十六进制】

如果想把一个字符串输出到文件中,使用重定向符号>。在下面的例子中一个字符串被重

定向到一个名为m y f i l e的文件中:

$ echo "The log files have all been done"> myfile

或者可以追加到一个文件的末尾,这意味着不覆盖原有的内容:

$ echo "$LOGNAME carried them out at `date`">>myfile

2、read:

可以使用r e a d语句从键盘或文件的某一行文本中读入信息,并将其赋给一个变量。如果只指定了一个变量,那么r e a d将会把所有的输入赋给该变量,对于多个变量,空格分割,如果输入文本域过长, Shell 将所有的超长部分赋予最后一个变量。

3、cat:

如果希望创建一个新文件,并向其中输入一些内容,只需使用c a t命令把标准输出重定向到该文件中。输入一些文字,输入完毕后按< CTRL-D >结束输入。这是个非常简单的文字编辑器!

4、管道:

可以通过管道把一个命令的输出传递给另一个命令作为输入。管道用竖杠|表示。

5、标准输入、输出和错误:

当我们在shell中执行命令的时候,每个进程都和三个打开的文件相联系,并使用文件描

述符来引用这些文件。

文件——文件描述符

输入文件:标准输入——0

输出文件:标准输出——1

错误输出文件:标准错误——2

6、文件重定向:

(1)常用的文件重定向命令

command > filename 把把标准输出重定向到一个新文件中

command >> filename 把把标准输出重定向到一个文件中(追加)

command > filename 2>&1 把把标准输出和标准错误一起重定向到一个文件中

command < filename >filename2 把command命令以filename文件作为标准输入,以filename 2文件作为标准输出

command < filename 把command命令以filename文件作为标准输入

command << delimiter 把从标准输入中读入,直至遇到delimiter分界符

command <&m 把把文件描述符m作为标准输入

command >&m 把把标准输出重定向到文件描述符m中

command <&- 把关闭标准输入

(2)重定向标准输出:

$ls amount*  >>  files所有的目录名和以account开头的文件名都被写入到file.out文件中。

(3)一个快速发现错误的方法就是,先将输出重定向到一个文件中,然后再把标准错误重定向到另外一个文件中。

$ cat account_qtr.doc account_end.doc 1>accounts.out 2>accounts.err

现在如果出现了错误,相应的错误将会保存在accounts.err文件中。

(4)合并标准输出和标准错误:

$ cleanup >cleanup.out 2>&1

在上面的例子中,我们将cleanup脚本的输出重定向到cleanup.out文件中,而且其错误也被重定向到相同的文件中。

7、exec:

exec命令可以用来替代当前shell;换句话说,并没有启动子shell。使用这一命令时任何现有环境都将会被清除,并重新启动一个shell。

 

 My log:

1 imp test1/test1@cadb file='/home/upitics/dmp_file/emp.dmp' full=y > ./log/emp.log 2>&1 

  发生warning的时候,要加上2>&1才能输出到文件

分享到:
评论

相关推荐

    设定自己的shell提示信息(转载)

    若在 `.cshrc` 文件中设置了提示信息为包含历史记录编号的形式(即 `(n)`),vi 可能会从 CShell 获得类似 `(1)abc.file(2)` 的输出。 解决这个问题的方法是在 `.cshrc` 文件中添加以下代码: ```sh if ($?prompt) ...

    用于shell脚本无交互的ssh自动登陆(转载)

    expect工具是基于Tcl语言编写的,它能够通过自动化的方式响应程序输出的提示信息。在ssh命令执行时,expect可以用来捕获密码输入提示,并自动发送密码,从而实现自动登录。 博文首先提出使用简单的expect脚本来处理...

    Linux shell编程

    5. **输入/输出重定向**:Shell允许将命令的标准输出(stdout)和标准错误(stderr)重定向到文件或另一个命令。例如,`command &gt; file.txt`会将command的输出保存到file.txt,`2&gt; error.log`则将错误信息重定向到...

    Linux_unix_shell第一部分编程(共两部分)

    第5章 shell输入与输出 34 5.1 echo 34 5.2 read 35 5.3 cat 37 5.4 管道 38 5.5 tee 39 5.6 标准输入、输出和错误 40 5.6.1 标准输入 40 5.6.2 标准输出 40 5.6.3 标准错误 40 5.7 文件重定向 40 5.7.1 重定向标准...

    u-boot_mips移植分析 (转载的)

    其中,Shell控制台负责串口命令输入输出;上层功能模块实现monitor功能和启动Linux内核的基本操作;底层驱动模块处理存储介质读写和主机通信;架构相关代码则专注于初始化硬件平台特有的组件。 在MIPS架构下,u-...

    PowerShell 语音计算器实现代码

    1. **语音输出**:程序的核心特色是中文发音功能,能够将计算结果以语音的形式读出来,增加了辅助功能,对视力不佳或者需要听觉反馈的用户非常友好。 2. **多输入方式**:用户可以通过鼠标点击或小键盘进行输入,...

    SSH软件访问AIX系统及实时监控某个文件

    `TOPAS命令详解-转载 - - JavaEye技术网站.mht`这个文件可能是关于TOPAS命令的详细教程,可能包含了如何启动TOPAS,如何使用不同的监控命令,以及如何解读其输出的信息。 例如,`topas -t`命令可以展示系统的总体...

    Python学习 | 一个JAVA程序员两天的Python入门笔记

    文章目录vlog正文入门基础注释算数运算符及优先级程序执行原理变量概念和定义方式变量的命名变量的输入和输出数据类型数值型非数值型列表元组列表与元组的互相转换字典字符串在Python中所有非数字型变量都支持的特点...

    object-c基础教程

    这段代码展示了如何使用`#import`导入标准输入输出库,并使用`printf`函数打印“Hello World”到控制台。此示例是Objective-C编程的基础入门,适用于初学者理解和实践语言的基本语法和结构。 通过以上内容的学习,...

Global site tag (gtag.js) - Google Analytics