shell中的输入输出和编程中的变量(shell 03)
2016-10-29 12:54
531 查看
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
作用范围:脚本生存周期内
`可把命令执行后的结果赋给变量
标准输入:键盘
标准输出:终端显示器
>> 追加是换行追加的
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日 星期日 10:10:02 EDT [root@localhost110 ~]# mdate=`date` [root@localhost110 ~]# echo $mdate 2016年 10月 16日 星期日 10:10:23 EDT mdate=`date +%Y-%m-%d` echo $mdate 2016-10-16
相关文章推荐
- linux shell编程指南第五章------shell输入与输出
- linux shell 编程笔记 - shell的输入与输出 -2- read - cat - 管道
- linux shell编程指南第五章------shell输入与输出1
- Linux--Shell 编程-bash,命令替换,if分支嵌套,运算,输入输出
- shell学习-基础(变量、输入、输出、数组、环境变量)
- 【Linux 系统编程】shell 输入/输出重定向
- Shell编程—根据用户输入来输出符号正方形
- 第一部分 Shell基础编程——第三章 Shell输入和输出
- linux shell 编程笔记 - shell的输入与输出 -1- echo命令
- 03:C语言数据类型、变量的输入和输出、进制转换、操作符
- 【Linux 系统编程】shell 输入/输出重定向(四)
- Linux 下的 shell 编程之 输入输出
- linux shell 编程笔记 - shell的输入与输出 -3- 标准输入-标准输出-标准错误
- Linux--Shell 编程-bash,命令替换,if分支嵌套,运算,输入输出
- Linu Shell 编程基础--变量,简单的输出,echo,printf
- shell基础编程——输出和输入
- 2. 三. 标准输入/输出和重定向 (shell命令)
- (转载)shell输入、输出
- sqlplus输出变量到shell
- Linux_shell_shell的输入与输出