linux shell 代码块的重定向

代码块的重定向是指在代码块内将标准输入或标准输出重定向到文件,而在代码块外还是保留默认状态,换句话说,代码块重定向指对标准输入或者标准输出的重定向只在代码块内有效。可以重定向的代码块是while、until、for,也可以是if/then,甚至是函数。

while重定向

#!/bin/bash

ls /etc> logs

while [ "$filename" != "rc.d" ]

do

read filename

let "count=count+1"

done < logs                                #while代码块重定向输入

#测试代码块外部的标准输入是否重定向

echo "Pls, input data:"

read test

echo "$test"

for代码块的重定向输入类似

if [ condition ]

then

......

......

else

......

fi < filename

代码块重定向一定程度上增强啦shell的灵活性,它可以让一段代码很方便的处理一个文件。

linux shell 代码块的重定向

时间: 2024-10-29 16:03:00

linux shell 代码块的重定向的相关文章

shell代码块重定向

代码块是由多条语句组成的一个整体,for.while.until循环或者if…else.case…in选择结构,或者由{ }包围起来的命令都可以称为代码块. 将重定向命令放在代码块的结尾处,就可以对代码块中的所有命令实施重定向. 举栗     使用 while 循环不断读取 nums.txt 中的数字,计算它们的总和. #!/bin/bash sum=0 while read n; do ((sum += n)) done <nums.txt #输入重定向 echo "sum=$sum&q

一段linux shell 代码涉及for循环和if esle

if [ 0 -ne $# ]; then echo "USAGE: prog [IN]input_file" >&2; exit 1;fisource /etc/profilesource ~/.bash_profileulimit -c unlimited#./ExtractICBAData1  576_dumppages result/576.result.txt 2>log/576.stderr.txt  1>log/576.stdout.txtfor

linux shell数据重定向

linux shell下常用输入输出操作符是: 1.  标准输入   (stdin) :代码为 0 ,使用 < 或 << : /dev/stdin -> /proc/self/fd/0   0代表:/dev/stdin 2.  标准输出   (stdout):代码为 1 ,使用 > 或 >> : /dev/stdout -> /proc/self/fd/1  1代表:/dev/stdout3.  标准错误输出(stderr):代码为 2 ,使用 2>

Linux shell管道与重定向及实例分析

一.管道 管道命令操作符是:"|",它仅能处理由前面一个命令的正确输出信息,也就是standard output的信息,对于stdandard error信息没有直接处理能力:然后,传递给下一个命令,作为标准输入standard input. linux管道执行过程: 管道命令使用说明: command1正确输出,作为command2的输入,然后command2的输出作为command3的输入,command3的输出打印到屏幕上: 通过管道:command1.command2的正确输出

linux shell数据重定向(输入重定向与输出重定向)详细分析(转载)

本文为转载 原文链接 http://www.cnblogs.com/chengmo/archive/2010/10/20/1855805.html 在了解重定向之前,我们先来看看linux 的文件描述符. linux文件描述符:可以理解为linux跟踪打开文件,而分配的一个数字,这个数字有点类似c语言操作文件时候的句柄,通过句柄就可以实现文件的读写操作. 用户可以自定义文件描述符范围是:3-num,这个最大数字,跟用户的:ulimit –n 定义数字有关系,不能超过最大值. linux启动后,会

linux shell脚本编程笔记(五): 重定向

I/O重定向 简述: 默认情况下始终有3个"文件"处于打开状态, stdin (键盘), stdout (屏幕), and stderr (错误消息输出到屏幕上). 这3个文件和其他打开的文件都可以被重定向. 对于重定向简单的解释就是捕捉一个文件, 命令, 程序, 脚本, 或者甚至是脚本中的代码块的输出, 然后将这些输出作为输入发送到另一个文件, 命令, 程序, 或脚本中. 每个打开的文件都会被分配一个文件描述符.stdin, stdout, 和stderr的文件描述符分别是0, 1,

linux shell 管道命令(pipe)使用及与shell重定向区别

linux shell 管道命令(pipe)使用及与shell重定向区别 看了前面一节:linux shell数据重定向(输入重定向与输出重定向)详细分析 估计还有一些朋友是头晕晕的,好复杂的重定向了.这次我们看下管道命令了.shell管道,可以说用法就简单多了. 管道命令操作符是:"|",它仅能处理经由前面一个指令传出的正确输出信息,也就是 standard output 的信息,对于 stdandard error 信息没有直接处理能力.然后,传递给下一个命令,作为标准的输入 st

linux shell 脚本实现tcp/upd协议通讯(重定向应用)

linux shell 脚本实现tcp/upd协议通讯(重定向应用) http://www.cnblogs.com/chengmo/archive/2010/10/22/1858302.html

Linux Shell系列教程之(十六) Shell输入输出重定向

本文是Linux Shell系列教程的第(十六)篇,更多Linux Shell教程请看:Linux Shell系列教程 Shell中的输出和输入的重定向是在使用中经常用到的一个功能,非常实用,今天就为大家介绍下Shell输入输出重定向的相关知识. 一.Shell输入输出重定向概述 在了解重定向相关知识之前,我们先来看看Linux的文件描述符. Linux的文件描述符可以理解为linux跟踪打开文件,而分配的一个数字,这个数字有点类似c语言操作文件时候的句柄,通过句柄就可以实现文件的读写操作. 用