博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
shell 输入和输出
阅读量:5309 次
发布时间:2019-06-14

本文共 1028 字,大约阅读时间需要 3 分钟。

1. 读取键盘输入

read [-ers] [-a array] [-d delim] [-i text] [-n nchars] [-N nchars] [-p prompt] [-t timeout] [-u fd] [name ...]

  • -p 提示语句,后面接输入提示信息
  • -n 字符个数,限制输入长度
  • -s 屏蔽回显,屏幕上不显示输入内容,一般用于密码输入
  • -t 超时时间,等待输入超时时间
  • -d 输入界限,遇到该符号,终止输入
  • -r 屏蔽特殊字符 \ 的转义功能
$ read -s -t 5 -n 6 -p "Enter password: " password $ echo $password

2. echo 转义输出

$ echo "hello\n world."hello\n world.$ echo -e "hello\n world."hello world.

3. 重定向

一般情况下,每个 Unix/Linux 命令运行时都会打开三个文件:

  • 标准输入文件(stdin):stdin 的文件描述符为0,Unix 程序默认从 stdin 读取数据。
  • 标准输出文件(stdout):stdout 的文件描述符为1,Unix 程序默认向 stdout 输出数据。
  • 标准错误文件(stderr):stderr 的文件描述符为2,Unix 程序会向 stderr 流中写入错误信息。
$ command < infile > outfile

同时替换输入和输出,command < infile 将 stdin 重定向到 infile,然后 command > outfile 将 stdout 重定向到 outfile 中。

(1)如果希望将 stdout 和 stderr 合并后重定向到 file,可以这样写:

$ command > file 2>&1

(2)如果希望执行某个命令,但又不希望在屏幕上显示输出结果,那么可以将输出重定向到 /dev/null:

$ command > /dev/null

/dev/null 是一个特殊的文件,写入到它的内容都会被丢弃;如果尝试从该文件读取内容,那么什么也读不到。

(3)如果希望屏蔽 stdout 和 stderr,可以这样写:

$ command > /dev/null 2>&1

 

转载于:https://www.cnblogs.com/yutb/p/11236839.html

你可能感兴趣的文章
同比和环比
查看>>
SpringMvc拦截器运行原理。
查看>>
MySQL基础3
查看>>
云计算数据与信息安全防护
查看>>
全局设置导航栏
查看>>
RxJS & Angular
查看>>
面向对象(多异常的声明与处理)
查看>>
MTK笔记
查看>>
ERROR: duplicate key value violates unique constraint "xxx"
查看>>
激活office 365 的启动文件
查看>>
9款免费的Windows远程协助软件
查看>>
Maven(八) Maven项目和testng结合应用
查看>>
iOS 的 set.get.构造方法
查看>>
无法根据中文查找
查看>>
文件编码,文件或文件名编码格式转换(转)
查看>>
[简讯]phpMyAdmin项目已迁移至GitHub
查看>>
redis的hash与string区别
查看>>
转载 python多重继承C3算法
查看>>
初用Ajax
查看>>
zabbix 2.2.20 安装详解(Centos6.9)
查看>>