shell脚本--输入与输出
输出带有转义字符的内容
单独一个echo表示一个换行
使用echo输出时,每一条命令之后,都默认加一个换行;要想取消默认的换行,需要加 -n 参数。
#!/bin/bash
#文件名:test.sh echo "aaaaaaaaaaa"
echo "bbbbbbbbbbb"
echo -n "ccccccccccc"
echo "ddddddddddd"
运行脚本:
ubuntu@ubuntu:~$ ./test.sh
aaaaaaaaaaa
bbbbbbbbbbb
cccccccccccddddddddddd
ubuntu@ubuntu:~$
使用双引号括起来的内容中有转义字符时,在添加参数 -e 之后才会被转义,否则会原样输出。
#!/bin/bash
#文件名:test.sh echo "hello\n world"
echo -e "hello\n world"
运行脚本:
ubuntu@ubuntu:~$ ./test.sh
hello\n world
hello
world
ubuntu@ubuntu:~$
读取用户输入:
方式一:
#!/bin/bash
#文件名:test.sh echo -n "please input your name and age:"
read name age
echo "welcome $name, your age is $age"
方式二:
#!/bin/bash
#文件名:test.sh read -p "please input your name and age:" name age
echo "welcome $name, your age is $age"
读入的内容会自动保存到变量中去,可以直接使用变量获取输入的值。
执行上面两个脚本,结果都为:
ubuntu@ubuntu:~$ ./test.sh
please input your name:beyond 10
welcome beyond, your age is 10
ubuntu@ubuntu:~$
改变字体颜色:
以 \e[前景颜色;背景颜色m 开头,中间为内容,然后以 \e[0m结束,0m表示将颜色恢复为默认的颜色,如果不加0m,则之后的所有输出都将使用前面的设置。
其中使用字母m来分隔转义字符和内容。同时输出的时候,因为有转义字符,所以要加-e参数
\e可以使用八进制的\033代替。
颜色表:
字体颜色 | 黑30 | 红31 | 绿32 | 棕33 | 蓝34 | 紫35 | 青36 | 白37 |
背景颜色 | 黑40 | 红41 | 绿42 | 棕43 | 蓝44 | 紫45 | 青46 | 白47 |
#!/bin/bash
#文件名:test.sh echo -e "\e[32;40m this is test \e[0m";
echo -e "\e[33;47m this is test \e[0m"; echo -e "\033[32;40m hello world \033[0m";
echo -e "\033[33;47m hello world \033[0m";
运行结果:
shell脚本--输入与输出的更多相关文章
- Shell编程学习---第五篇:Shell的输入和输出
在shell脚本中,可以用几种不同的方式读入数据:可以使用标准输入—缺省为键盘,或 者指定一个文件作为输入.对于输出也是一样:如果不指定某个文件作为输出,标准输出总 是和终端屏幕相关联.如果所使用命令 ...
- shell脚本按当前日期输出日志
shell脚本基本技能是设置变量,输出信息.如下: sh脚本输出到控制台 将以上脚本保存到test.sh脚本文件中,并赋予可执行权限:sudo chmod +x test.sh 执行脚本:bash t ...
- Java实践-远程调用Shell脚本并获取输出信息
1.添加依赖 <dependency> <groupId>ch.ethz.ganymed</groupId> <artifactId>ganymed-s ...
- shell脚本监控Flume输出到HDFS上文件合法性
在使用flume中发现由于网络.HDFS等其它原因,使得经过Flume收集到HDFS上得日志有一些异常,表现为: 1.有未关闭的文件:以tmp(默认)结尾的文件.加入存到HDFS上得文件应该是gz压缩 ...
- Shell脚本——cat/EOF输出多行
在某些场合,可能我们需要在脚本中生成一个临时文件,然后把该文件作为最终文件放入目录中.(可参考ntop.spec文件)这样有几个好处,其中之一就是临时文件不是唯一的,可以通过变量赋值,也可根据不同的判 ...
- shell的输入和输出
1.echo echo [option] string -e 解析转义字符 -n 回车不换行,linux系统默认回车换行 转移字符 \c \t \f \n #!/bin/bash #echo e ...
- shell脚本(3)-格式化输出
一个程序需要有0个或以上的输入,一个或更多输出 一.echo语法 1.功能:将内容输出到默认显示设备. echo命令功能在显示器上显示一段文字,一般提到提示的作用 2.语法:echo[-ne][字符串 ...
- Shell 基础 -- 输入、输出重定向
一.文件描述符 文件描述符是一个非负的整数,Linux 中每个运行中的程序(进程),都有一些与之关联的文件描述符,你可以使用文件描述符来访问打开的文件或设备.在标准 I/O 库中,与文件描述符对应的是 ...
- Oralce SQLPlus 以及shell脚本中spool输出到文件时的格式化输出
http://blog.csdn.net/gyanp/article/details/7903056 1) 格式调整有以下参数 set echo on/off ...
随机推荐
- python六十课——高阶函数之map
1.高阶函数: 特点:函数的形参位置必须接受一个函数对象 分类学习: 1).map(fn,lsd1,[lsd2...]): 参数一:fn --> 函数对象 参数二:lsd1 --> 序列对 ...
- document.querySelector获取不到html标签对象实例的原因
官方给出的HTML中的ID的命名规范: 1.必须以字母 A-Z 或 a-z 开头2.其后的字符:字母(A-Za-z).数字(0-9).连字符("-").下划线("_&qu ...
- Arduino IDE for ESP8266教程(四)网页控制灯 简单页面
修改ssid和passwd,将程序烧写到8266上,等待串口返回连接成功的消息,连接成功之后可以看到返回有一个ip地址,使用浏览器方位这个ip地址就可以看到这个消息: 连接路由器后,返回IP地址 19 ...
- MongoDB数据库中查询数据(下)
MongoDB数据库中查询数据(下) 在find中,options参数值为一个对象,用来设置查询数据时使用的选项,下面我们来对该参数值对象中可以使用的属性进行介绍: 1. fields; 该属性值为一 ...
- PAT A1142 Maximal Clique (25 分)——图
A clique is a subset of vertices of an undirected graph such that every two distinct vertices in the ...
- 【Codeforces 115D】Unambiguous Arithmetic Expression
Codeforces 115 D 题意:给一个没有括号的表达式,问有多少种添加括号的方法使得这是一个合法的表达式?输入可能有正负号.加减乘除.数字. 思路1: 这是不能过的\(naive\)的\(dp ...
- 9-51单片机ESP8266学习-AT指令(单片机采集温湿度数据通过8266发送给AndroidTCP客户端显示)
http://www.cnblogs.com/yangfengwu/p/8798512.html 补充:今天答应了一个朋友写一下如果单片机发过的是字符串应该怎么解析,答应了今天写,哦哦哦是明天了,闲话 ...
- VisualStudio2008+水晶报表的使用
1:打开VisualStudio2008,新建一个Windows窗体应用程序项目,名称可以自定义,选择项目的保存路径,然后确定 刚新建好的窗体应用程序: 2. 把准备好的水晶报表插件复制到项目中的bi ...
- 一次学生时代的经历,利用Python在机房杀红蜘蛛,脱离老师控制!
这个为什么说是一次学生时代的经历呢,我的出发点并没有是为了吊胃口.确实,这个Python小应用,只能在学生时代用得着吧,尤其是高中和大学,如果你没有想到也没关系,看完我下面说的就会明白了. 在这里 ...
- odoo 11 实现多个字段对应一个查询参数的查询
在整理英语单词开发模块的过程中,有这样一个需求,就是我在查询界面里输入一个查询的值A,这个A可能是下面的任何一个值 1.一个英语单词 2.汉语文字 3.一个英语单词的部分 这里有两张表:engli ...