Shell脚本教程:重定向与空设备操作
需积分: 49 147 浏览量
更新于2024-08-07
收藏 1.89MB PDF 举报
"重定向到空设备-SolidWorks Simulation基础教程2014版(1到5章) - Shell编程 Linux-Shell Shell命令行"
在Shell编程中,重定向到空设备是一个常用技巧,用于丢弃命令或程序的输出,避免在终端上显示或者保存无用的信息。`/dev/null`是一个特殊的设备文件,它被称为“黑洞”,任何写入它的数据都会被丢弃,而不会占用任何磁盘空间,同时返回成功状态。这在你不想保存或查看特定命令的输出时非常有用。
例如,如果你尝试运行一个未安装的命令如`bc`计算器,系统通常会报错。通过重定向到`/dev/null`,你可以消除这个错误信息:
```bash
# echo "1 + 1" |bc >/dev/null 2>&1
```
这里的`>/dev/null`表示将标准输出(stdout)重定向到`/dev/null`,`2>&1`表示将标准错误输出(stderr)重定向到标准输出的当前位置,即也发送到`/dev/null`,这样两个输出都被忽略了。
忽略标准输出可以这样操作:
```bash
# echo "test" >/dev/null
```
而忽略错误输出:
```bash
# echo "1 + 1" |bc 2>/dev/null
```
`read`命令是Shell中的另一个关键工具,用于从标准输入读取数据并将其存储到指定的变量中。`read`命令的选项有多种,如:
- `-e`: 在交互式shell中使用readline库来获取输入行。
- `-r`: 阻止反斜杠(\)作为转义字符,使原始输入保持不变。
- `-s`: 隐藏输入,使得输入的内容不会在屏幕上显示出来。
- `-a array`: 将输入的内容以空格为分隔符存入数组中。
- `-d delim`: 使用指定的分隔符结束读取,而不是默认的换行符。
- `-i text`: 设置初始输入文本。
- `-n nchars`: 只读取n个字符。
- `-N nchars`: 读取直到n个字符为止,即使遇到分隔符也不停止。
- `-p prompt`: 提示用户输入时显示的提示信息。
- `-t timeout`: 设置等待用户输入的超时时间。
- `-u fd`: 从指定的文件描述符读取。
通过熟练掌握这些命令和重定向技巧,你可以在编写Shell脚本时更有效地管理和控制程序的输入输出,提高自动化任务的效率。这份文档《Shell从入门到精通》详细介绍了Shell的基础知识,包括变量、字符串处理、表达式与运算符、流程控制以及函数和数组等内容,对于想要深入学习Shell编程的人来说是一份宝贵的资源。
600 浏览量
610 浏览量
501 浏览量
点击了解资源详情
点击了解资源详情
点击了解资源详情
幽灵机师
- 粉丝: 35
- 资源: 3890
最新资源
- 哥伦布蓝衣队 新标签页 壁纸收藏-crx插件
- SRDebugger 1.11.0 插件
- first-spring-mvc:ihavenoideawhatimdoing.jpg
- Linux系统安装详细视频教程
- SLitraniSim:内置在rootSLitrani中的简单Quartz和PMT检测器
- 一维_用matlab编写的FDTD一维程序_
- 横向滚动鼠标插件Horwheel特效代码
- 基于MPC控制器的自行车行驶转弯控制真实场景模拟matlab仿真
- Spark-Parquet
- Color Terror-crx插件
- JDK1.8-win64 -安装包
- confTool培训
- html5点击购物车弹出商品清单特效代码
- Python爬虫~已爬取目标网站所有文章,后续如何只获取新文章项目源码有详细注解,适合新手一看就懂.rar
- Watterson信道_短波信道_watterson信道_
- react-github-search-user-api