输入输出命令 - 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

⚠️ **GitHub.com Fallback** ⚠️