Shell 脚本学习笔记十:Shell输入输出重定向

command > file       将输出重定向到 file。

command < file       将输入重定向到 file。

command >> file     将输出以追加的方式重定向到 file。

n > file               将文件描述符为 n 的文件重定向到 file。

n >> file               将文件描述符为 n 的文件以追加的方式重定向到 file。

n >& m                将输出文件 m 和 n 合并。

n <& m                  将输入文件 m 和 n 合并。

<< tag                   将开始标记 tag 和结束标记 tag 之间的内容作为输入。

注:文件描述符 0 通常是标准输入(STDIN),1 是标准输出(STDOUT),2 是标准错误输出(STDERR)。

输出重定向

  • <    会覆盖文件中的内容
  • <<    不会覆盖文件的内容,将输出的内容追加到文件末尾

 执行 command 命令,然后将 输出的结果存入 file1(覆盖掉 file1 原先的内容)

  command > file1

 执行 command 命令,然后将 输出的结果追加到 file1 文件末尾(不舍覆盖掉 file1 原先的内容)

 command >> file1

输入重定向

 从 file1 中获取内容

 command < file1

Here Document

 将输入重定向到一个交互式 Shell 脚本或程序

 command << delimiter

    document

 dilimiter

 注:

   1、结尾的delimiter 一定要顶格写,前面不能有任何字符,后面也不能有任何字符,包括空格和 tab 缩进

   2、开始的delimiter前后的空格会被忽略掉

wc -l << EOF
    欢迎学习
    Shell脚本语言
    开心每一天
EOF

/dev/null 文件

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

 command > /dev/null

Shell 文件包含

 Shell 也可以包含外部脚本。这样可以很方便的封装一些公用的代码作为一个独立的文件

. fileName

source fileName

时间: 2024-12-20 22:18:10

Shell 脚本学习笔记十:Shell输入输出重定向的相关文章

shell脚本学习笔记系列--1

一.学好shell编程的知识储备 1.相关Linux系统命令应用: 2.Vi/vim 编辑器的熟练使用,相关客户端软件的设置: 3.基础的服务,系统服务ntp,crond,网络服务:nfs,rsync,inotify,sersync,ssh,lanmp等. 补充:清空日志的三种方法: 1)echo  " " > filename.log 2)>filename.log 3)cat  /dev/null > filename.log 注:工作中有的时候不能删除(日志)文

【Shell脚本学习24】Shell输入输出重定向:Shell Here Document,/dev/null文件

Unix 命令默认从标准输入设备(stdin)获取输入,将结果输出到标准输出设备(stdout)显示.一般情况下,标准输入设备就是键盘,标准输出设备就是终端,即显示器. 输出重定向 命令的输出不仅可以是显示器,还可以很容易的转移向到文件,这被称为输出重定向. 命令输出重定向的语法为: $ command > file 这样,输出到显示器的内容就可以被重定向到文件. 例如,下面的命令在显示器上不会看到任何输出: $ who > users 打开 users 文件,可以看到下面的内容: $ cat

shell脚本学习笔记:通过shell实现linux用户管理和监控

学习shell做的第一个脚本,感谢云知梦李强强老师的shell编程教程 创建shell脚本文件: touch menu.sh touch index.sh touch welcome.sh 赋予脚本文件可执行权限: chmod a+x menu.sh index.sh welcome.sh menu.sh #!/bin/bash #menu.sh function menu(){ title="My Home" name="Randy" time=`date +%Y

shell脚本学习笔记 (sed的高级用法----模式空间和保持空间)

前段时间在学习shell脚本,上次有提到sed的模式空间和保持空间概念,但是一直没有研究好,这两天研究了一下,所以将它发出来,不是很全面,仅仅供大家参考一下. 保持空间sed在正常情况下,将处理的行读入模式空间,脚本中的"sed command(sed命令)"就一条接着一条进行处理,直到脚本执行完毕.然后该行被输出,模式被清空:接着,在重复执行刚才的动作,文件中的新的一行被读入,直到文件处理完毕. 模式空间可以比喻为一个生产线,而保持空间则可以被比喻为仓库,这个比喻希望可以帮助大家理解

shell脚本学习笔记之常见语法结构用法

一,变量 1.变量赋值和替换 语法:variable=value variable="value1 value2" echo  $variable/$"{variable}"   屏幕上显示赋值 echo  $"{variable+b}"  将已经赋值的变量重新设值,临时生效 echo  $"{variable:=value} 屏幕上显示value(前提是value没有被赋值) echo  $"{variable:-value

shell 脚本学习笔记--函数

一.定义格式 [function] 函数名() { 命令表 } 二.调用方法 先定义,后使用,直接输入函数名,不需要圆括号() 三.函数参数传递方法 可以利用位置参数或者变量进行传递 #! /bin/bash# myfirst.sh testFunction() { echo "$1,$2" #位置参数传递参数 echo "$val1,$val2" #变量传递参数 } val1="test1" val2="test2" tes

shell脚本学习笔记 (流编辑器sed)

sed意为流编辑器(Stream Editor),在Shell脚本和Makefile中作为过滤器使用很普遍,也就是把前一个程序的输出引入sed的输入,经过一系列编辑命令转换为另一种格式输出. sed不只支持正則表達式.它另一些比較厉害的功能. 我给出一个样例,大家看看有什么办法能够解决它吧. <html><head><title>Hello World</title> <body>Welcome to the world of regexp!&l

Shell脚本学习笔记-函数

1.  基本的脚本函数 1.1 函数的定义 function name { commands } 或者 name() { commands } 1.2 简单示例 #!/bin/sh function Func01 { echo "This is function of Func01" } Func02() { echo "This is function of Func02" } Func01 Func02 运行结果: 1.3 函数返回值与退出码 #!/bin/sh

Shell脚本学习一:shell三种引号学习

一.Shell中变量的声明和引用 [[email protected] ~]# var1=Hello [[email protected] ~]# echo $var1 Hello [[email protected] ~]# echo ${var1}World HelloWorld 在Shell中,变量的引用使用$. 上面的代码中,$var1就是对变量var1的引用,输出的结果是Hello. 如果想链接其他字符,将变量放到大括号{}里面,然后在后面跟上其他内容. 例如上面的代码中:${var1