Linux操作系统 Shell的输入与输出 1
1 Linux 操作系统 Shell 的输入与输出
Shell的输入与输出 ▣shell的输入与输出主要包括: ●echo命令 ●read命令 ●tee命令 ●cat命令 ·管道 ·重定向 2
2 shell 的输入与输出主要包括: z echo 命令 z read 命令 z tee 命令 Shell 的输入与输出 z cat 命令 z 管道 z 重定向
echo命令 ▣echo ◆使用echo命令可以显示文本行、字符串或变量的值 ◆echo命令的一些细节在System V、BSD和Linux这三 种UNX-like系统上会有所不同,这里以Linux为主。 ◆echo命令的一般形式: echo [-e][-n] string 其中: string:字符串,可以含shel1变量、转义符等, 一般用双引号括起来 -e:让echo解释string中的转义符 -n:禁止echo输出后输出NEWLINE(换行)
3 使用 echo 命令可以显示文本行、字符串或变量的值 echo [-e] [-n] string echo 命令的一些细节在 System V、BSD 和 Linux 这三 种UNIX-like 系统上会有所不同,这里以 Linux 为主。 echo 命令的一般形式: 其中: string : 字符串,可以含 shell 变量、转义符等, 一般用双引号括起来 -e : 让 echo 解释 string 中的转义符 -n : 禁止 echo 输出后输出 NEWLINE(换行)。 echo 命令 echo
echo命令 ◆ echo命令支持的转义符 num ASCⅡ码为num(八进制)的字符 a alert(belW响铃 Ar carriage return▣车 Ib backspace退格 horizontal tab \f form feed换页 水平制表符 c suppress trailing vertical tab newline不换行 垂直制表符 n new line换行 backslash反斜杠 echo -e "Hello \bworld" 4
4 echo 命令支持的转义符 \a alert (bell) 响铃 \r carriage return 回车 horizontal tab 水平制表符 \b backspace 退格 \t \f form feed 换页 vertical tab 垂直制表符 suppress trailing \v newline 不换行 \c \n new line 换行 \\ backslash 反斜杠 \num ASCII码为num(八进制)的字符 echo 命令 echo -e "Hello \bworld
echo命令举例 echo "your home directory is $HOME" echo -n "your home directory is $HOME" echo -e "your home directory is $HOME\c" echo -e "User:SUSER\tUID:SUID" 5
5 echo " your home directory is $HOME" echo –n " your home directory is $HOME" echo –e " your home directory is $HOME\c" echo -e "User: $USER\tUID: $UID" echo 命令举例
read命令 ◆从键盘或文件的某一行中读取输入,并将其赋给变量。 ◆read命令的一般形式: read variablel variable2 .. read-p"提示信息"var1var2.. ◆如果只指定了一个变量,read将会把输入行的所有内 容赋给该变量,直至遇到第一个文件结束符或回车。 ◆如果指定了多个变量,read用空格作为分隔符把输入 行分成多个域,分别赋给各个变量。如果输入的文本域数 量多于read给出的变量数,read将所有的超长部分赋 予最后一个变量。 6
6 从键盘或文件的某一行中读取输入,并将其赋给变量。 read variable1 variable2 ... read 命令的一般形式: 如果只指定了一个变量,read 将会把输入行的所有内 容赋给该变量,直至遇到第一个文件结束符或回车。 如果指定了多个变量,read 用空格作为分隔符把输入 行分成多个域,分别赋给各个变量。如果输入的文本域数 量多于 read 给出的变量数,read 将所有的超长部分赋 予最后一个变量。 read 命令 read –p "提示信息" var1 var2
read命令举例 read name /John Lemon Doe read name subname /John Lemon Doe #!/bin/bash echo -e "First name:\c" read name echo -e "Middle name:\c" read middle echo -e "surname:\c" read surname echo "the name is Sname Smiddle $surname
7 read name // John Lemon Doe read name subname // John Lemon Doe #!/bin/bash echo –e "First name: \c" read name echo –e "Middle name: \c" read middle echo –e "surname: \c" read surname echo "the name is $name $middle $surname" read 命令举例
cat命令 ◆cat是一个简单而通用的命令,可以用它来显示文件内 容,创建文件,还可以用它来显示控制字符。 ◆cat命令的一般形式: cat [-n][-b][-t][-e]filel file2... -n:显示行号 -b:显示行号(不含空行) -t:显示制表符 -e:显示行结束符 ◆创建文件: cat filel file2 newfile 合并文件 cat newfile 输入文本,按ctr1+d结束输入
8 cat 是一个简单而通用的命令,可以用它来显示文件内 容,创建文件,还可以用它来显示控制字符。 cat [-n][-b][-t][-e] file1 file2 ... cat 命令的一般形式: -n : 显示行号 -b : 显示行号(不含空行) -t : 显示制表符 -e : 显示行结束符 cat 命令 创建文件: cat file1 file2 > newfile cat > newfile 输入文本,按 ctrl+d 结束输入 合并文件
管道 ◆」:把一个命令的输出传递给另一个命令作为输入。 comd1 comd2 例:显示当前目录下的所有子目录 1s -1 I grep ^d 9
9 | : 把一个命令的输出传递给另一个命令作为输入。 comd1 | comd2 例:显示当前目录下的所有子目录 ls –l | grep ^d 管道
tee命令 ◆把输出的一个副本输送到标准输出,另一个副本拷贝到相 应的文件中。 ◆tee命令的一般形式: tee [-a]filename -a:追加到文件末尾 ◆tee命令一般与管道结合使用 ◆例: tee list.out 10
10 把输出的一个副本输送到标准输出,另一个副本拷贝到相 应的文件中。 tee [-a] filename tee 命令的一般形式: -a : 追加到文件末尾 例: tee 命令一般与管道结合使用 ls | tee list.out tee 命令