shell中的输入输出
标准输入:键盘
标准输出:终端显示器
>> 追加是换行追加的
echo
-n 不尾随换行符
-e 启用解释反斜杠的转义功能
-E 禁用解释反斜杠的转义功能(默认)
--help 显示此帮助信息并退出
--version 显示版本信息并退出

只用cat

cat<filename1>filename2

内联输入重定向
command<<EOF(标识符)
data
EOF (标识符)

在脚本中重定向输入输出
临时重定向
永久重定向
1.临时重定向
command>&文件描述符

[root@localhost110 ~]# cat h.sh
#! /bin/bash
echo 'test error' >&2
echo 'normal output'
[root@localhost110 ~]# chmod u+x h.sh
[root@localhost110 ~]# ./h.sh
test error
normal output
[root@localhost110 ~]# ./h.sh 2>errlog
normal output
[root@localhost110 ~]# cat errlog
test error
2、永久重定向
exec 文件描述符>文件名
[root@localhost110 ~]# cat h.sh
#! /bin/bash
exec 1>output
echo 'test error' >&2
echo 'output1'
echo "output2"

[root@localhost110 ~]# ./h.sh
test error
[root@localhost110 ~]# cat output
output1
output2
h.sh内容

[root@localhost110 ~]# ./h.sh
[root@localhost110 ~]# cat output
output1
output2
[root@localhost110 ~]# cat output_err
test error
test error2

输入重定向
exec 0<filename
h1.sh内容

[root@localhost110 ~]# chmod u+x h1.sh
[root@localhost110 ~]# ./h1.sh
line #1:test error
line #2:test error2

管道
将一个命令的输出重定向至另一个命令的输入
command1|command2

2命令是同时进行的不是先执行完一个再继续下一个的
tee 输出到文件
[root@localhost110 ~]# date
2016年 10月 16日 星期日 09:52:05 EDT
[root@localhost110 ~]# date|tee datefile
2016年 10月 16日 星期日 09:52:17 EDT
[root@localhost110 ~]# cat datefile
2016年 10月 16日 星期日 09:52:17 EDT

shell编程中的变量
用户自定义变量
系统环境变量

按照作用范围
脚本中的自定义变量
环境变量
  局部环境变量
  全局环境变量

shell脚本中的自定义变量规则
合法字符:字母,数字,下划线
合法字符数量:<=20
特别注意:区分大小写

变量声明
变量名=变量值 如var=1
变量值的类型:自动分配 数字,字符串 日期,数组
调用方式: $变量名 如$var
作用范围:脚本生存周期内

`可把命令执行后的结果赋给变量

[root@localhost110 ~]# date
2016年 10月 16日 星期日 :: EDT
[root@localhost110 ~]# mdate=`date`
[root@localhost110 ~]# echo $mdate
2016年 10月 16日 星期日 :: EDT
mdate=`date +%Y-%m-%d`
echo $mdate
--

shell中的输入输出和编程中的变量(shell 03)的更多相关文章

  1. netty中的channelPipeline在编程中的作用

    在netty编程中我们绝大多数是要是用nio的,nio相比传统的io更加高效,而nio中核心概念离不开channel,buffer,selector三个重要的对象. 那么在netty中有一个chann ...

  2. Python 3中套接字编程中遇到TypeError: 'str' does not support the buffer interface的解决办法

    转自:http://blog.csdn.net/chuanchuan608/article/details/17915959 目前正在学习python,使用的工具为python3.2.3.发现3x版本 ...

  3. ca78a_c++_字符串流在内存中的输入输出(速度快)

    /*ca78a_c++_字符串流在内存中的输入输出**字符串流:在内存中的输入输出.(在内存中进行,速度快)**文件流 :是对文件进行输入和输出.(在磁盘里面进行)istringstream(输入), ...

  4. Linux Shell 编程中的特殊符号

    一.井号 # 1.在脚本文件中对一行进行注释. 2.在引号和\符号后不是注释,只是#号本身: echo "12 # hehe" echo '12 # hehe' echo 12 \ ...

  5. Shell编程中Shift的用法

    Shell编程中Shift的用法 位置参数可以用shift命令左移.比如shift 3表示原来的$4现在变成$1,原来的$5现在变成$2等等,原来的$1.$2.$3丢弃,$0不移动.不带参数的shif ...

  6. Shell编程中while与for的区别及用法详解【转】

    在shell编程中经常用到循环,常用的循环有for和while循环两种.while循环默认以行读取文件,而for循环以空格读取文件切分文件,本篇就结合现网的一些使用示例说说二者的用法和区别. 一.常用 ...

  7. Linux Shell编程中的几个特殊符号命令 & 、&& 、 ||

    https://blog.csdn.net/hack8/article/details/39672145 Linux Shell编程中的几个特殊符号命令 & .&& . || ...

  8. shell编程中的if语句

    if语句在任何编程中都是必不可少.至关重要的分支语句,shell也是如此,只不过各种编程中的方式和格式有点不太一样 shell编程中的if语句基本格式如下: if [ X$1 = XA ];then ...

  9. shell编程中如何执行oracle语句

    shell编程中如果向oracle中插入数据之类的,需要先把执行语句放到文件中,然后再@这个文件执行 有如下俩种方式供参考: SQL=`sqlplus user/pwd@orains << ...

随机推荐

  1. python技术

    要把zabbix弄成自动监控,下发任务,部署,事件恢复得功能

  2. jQuery EasyUI Datagrid VirtualScrollView视图简单分析

    大家都知道EasyUI的Datagrid组件在加载大数据量时的优势并不是很明显,相对于其他一些框架,如果数据量达到几千,便会比较慢,特别是在IE下面.针对这种情况,我们首要做的是要相办法优化datag ...

  3. CSS3 网格布局(grid-layout)基础知识 - 网格模板属性(grid-template)使用说明

    CSS3引入了新的网格布局(grid layout),以适应显示和设计技术的发展(尤其是移动设备优先的响应式设计). 主要目标是建立一个稳定可预料且语义正确的网页布局模式,用来替代过往表现不稳定且繁琐 ...

  4. Maven的生命周期阶段

    一.Maven的生命周期 Maven的生命周期就是对所有的构建过程进行抽象和统一.包含了项目的清理.初始化.编译.测试.打包.集成测试.验证.部署和站点生成等几乎所有的构建步骤. Maven的生命周期 ...

  5. DOM解析XML文件例子

    DOM解析XML文件是一次性将目标文件中的所有节点都读入,然后再进行后续操作的方式. 一般分为以下几步: 1. 定义好目标XML文件路径path . 2. 实例化DOM解析工厂对象 ,Document ...

  6. The Saltwater Room

    I opened my eyes last night and saw you in the low light 昨夜我睁开眼,看见你在昏暗的灯光下 Walking down by the bay, ...

  7. 【SQL查询】查询列中使用条件逻辑_case when then end

    select x.范围, count(*)  from (select t.ename,               case                 when t.sal <= 100 ...

  8. ng 服务

    服务的本质是单例对象,封装一些方法和属性的. 单例模式:在实例化变量的时候,如果该变量已经存在,直接返回该变量:如果不存在,就创建一个新的变量再返回 ng自带的服务有很多,常用:$location $ ...

  9. (效果一)js实现上拉加载

    实现思路:获取滚动元素的高度,滚动条距离顶部的距离,滚动条的高度, 算式:可视窗口的高度 + 滚动条距离顶部的距离 == 滚动条的高度就说明到底部. HTML <!doctype html> ...

  10. 转载:将STM32的标准库编译成lib使用【图文】

    from:http://www.cnblogs.com/zyqgold/p/3189719.html 百度上边也有不少关于lib文件的文章,恰巧看到该博文,感觉该博文的条理清晰,步骤明确,故复制到这个 ...