shell编程笔记5----shell输入与输出
时间:2006-09-24 来源:fdmtdmcdm
第五章 shell输入与输出
echo
使用echo可以输出文本和变量,\c不换行,\f进纸,\t跳格,\n换行
echo "what's your name:\c" read
从键盘或文本中读入信息,并赋给变量
read name john
echo $name cat
完整显示一个文件内容
如果要分页显示,可以通过管道
cat file |more
cat file |pg 显示控制字符
cat -v file
显示多个文件
cat file1 file2 file3 三个文件创建到一个文件中
cat file1 file2 file3 > bigfile 从键盘输入文字到文件,ctrl+d结束
cat > file
管道
一个命令的输出作为另一个命令的输入
管道特别适用与sed、awk、grep
who | awk '{print $1"\t"$2}'
tee
一个输出到副本,另一个输出到标准输出
who |tee who.out
这样一个输出到屏幕,同时也输出到who.out文件
-a参数,不覆盖前面的输出 标准输入、输出和错误
当我们在shell中执行命令的时候,每个进程都会和三个打开的文件相联系,这三个文件是标准输入文件STDIN(缺省是键盘,也可以是文件)、标准输出文件STDOUT(缺省是屏幕,也可以是文件)、标准错误文件STDERR(缺省是屏幕,也可以是文件),描述符分别用0、1、2
ls a.txt b.txt 1>1.log 2>2.log
如果要把标准输出和错误输出到相同的文件,使用ls a.txt b.txt 1>1.log 2>&1
注意:csh有所不同,使用下面的命令(ls a.txt b.txt >1.log) >& 2.log
对于标准错误输出,必须使用文件描述符,标准输入和标准输出则不需要 文件重定向 command >filename标准输出重定向到文件
command >>filename标准输出重定向追加到文件
command 1>file标准输出重定向到文件
command 1>file 2>&1标准输出和错误输出到同一个文件
command 2>filename标准错误重定向到文件
command 2>>filename标准错误重定向追加到文件
command >>filename 2>&1标准输出和错误追加到一个文件
command <filename>filename2命令作为filename的标准输入,filename2作为标准输出
command < filename以filename作为标准输入
command <<delimiter从标准输入中读,直到遇到delimiter分界符
command <&m把文件描述符m作为标准输入
command >&m把标准输出重定向到文件描述符m中
command <&_关闭标准输入
使用echo可以输出文本和变量,\c不换行,\f进纸,\t跳格,\n换行
echo "what's your name:\c" read
从键盘或文本中读入信息,并赋给变量
read name john
echo $name cat
完整显示一个文件内容
如果要分页显示,可以通过管道
cat file |more
cat file |pg 显示控制字符
cat -v file
显示多个文件
cat file1 file2 file3 三个文件创建到一个文件中
cat file1 file2 file3 > bigfile 从键盘输入文字到文件,ctrl+d结束
cat > file
管道
一个命令的输出作为另一个命令的输入
管道特别适用与sed、awk、grep
who | awk '{print $1"\t"$2}'
tee
一个输出到副本,另一个输出到标准输出
who |tee who.out
这样一个输出到屏幕,同时也输出到who.out文件
-a参数,不覆盖前面的输出 标准输入、输出和错误
当我们在shell中执行命令的时候,每个进程都会和三个打开的文件相联系,这三个文件是标准输入文件STDIN(缺省是键盘,也可以是文件)、标准输出文件STDOUT(缺省是屏幕,也可以是文件)、标准错误文件STDERR(缺省是屏幕,也可以是文件),描述符分别用0、1、2
ls a.txt b.txt 1>1.log 2>2.log
如果要把标准输出和错误输出到相同的文件,使用ls a.txt b.txt 1>1.log 2>&1
注意:csh有所不同,使用下面的命令(ls a.txt b.txt >1.log) >& 2.log
对于标准错误输出,必须使用文件描述符,标准输入和标准输出则不需要 文件重定向 command >filename标准输出重定向到文件
command >>filename标准输出重定向追加到文件
command 1>file标准输出重定向到文件
command 1>file 2>&1标准输出和错误输出到同一个文件
command 2>filename标准错误重定向到文件
command 2>>filename标准错误重定向追加到文件
command >>filename 2>&1标准输出和错误追加到一个文件
command <filename>filename2命令作为filename的标准输入,filename2作为标准输出
command < filename以filename作为标准输入
command <<delimiter从标准输入中读,直到遇到delimiter分界符
command <&m把文件描述符m作为标准输入
command >&m把标准输出重定向到文件描述符m中
command <&_关闭标准输入
相关阅读 更多 +