输入输出命令 - pingdongyi/blog-2 GitHub Wiki
echo 显示文本行及变量
echo "\007your home directory is $HOME, you are connected on `tty`"
其中:
- \c 不换行
- \f 换页符
- \t 跳格
- \n 换行
read 从键盘或文件读入信息,并将其赋给一个变量
如果只指定了一个变量,则read把所有的输入赋给该变量,直到遇到第一个文件结束符或回车
read var1 var2 ...
shell将用空格作为变量之间的分隔符:
read name fname
zhang bing
echo $name $fname
zhang bing
cat 显示文件内容或创建文件或显示控制字符
cat [options] file1 ... file2 ...
其中最有用的选项就是-v,显示控制字符。
该命令会一下显示全部内容,若分页显示则可用管道:
cat myfile | more
cat myfile | pg
管道 把信息从一端送到另外一端
command1 | command2
tee 输出一个副本到标准输出,同时输出另一副本到相应的文件中
tee -a files
-a 表示追加到文件末尾
标准输入
文件描述符是0,它是命令的输入,缺省是键盘,也可以是文件或其他命令的输出
标准输出
文件描述符是1,是命令的输出,缺省是屏幕,也可以是文件
标准错误
文件描述符是2,错误命令的输出,缺省是屏幕,也可以是文件
重定向
- command > file 重定向输出到一个文件
- command >> file 重定向输出追加到一个文件
- command > file 2>&1 把标准输出和错误一起重定向到一个文件中
- command >> file 2>&1 把标准输出、错误一起重定向追加到一个文件中
- command < file 输入重定向
- command << delimiter 从标准输入中读入,直到遇到Delimiter分界符
- command <&m 把文件描述符m作为标准输入
- command >&m 把标准输出重定向到文件描述符m中
- command <&- 关闭标准输入
exec
该命令可以替代当前shell;也就是说,并没有启动子shell。使用这一命令时任何现有环境都将会被清除并重新启动一个shell,exec command