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 ...
随机推荐
- sphinx笔记
sphinx笔记 下载中文版coreseek包 1:解压后,将etc下的mysql.conf文件复制一份放到上级目录下,改名为sphinx.conf 2:配置文件: 2.1:source配置数据源 s ...
- DataX的使用
简介 DataX 是阿里巴巴集团内被广泛使用的离线数据同步工具/平台,实现包括 MySQL.Oracle.HDFS.Hive.OceanBase.HBase.OTS.ODPS 等各种异构数据源之间高效 ...
- [ASP.NET]ScriptManager控件使用
目录 概述 局部刷新 错误处理 类型系统扩展 注册定制脚本 注册 Web 服务 在客户端脚本中使用认证和个性化服务 ScriptManagerProxy 类 添加 ScriptManager 控件 客 ...
- metamascara学习导论
研究了一段时间的metamascara终于有了一点起色,因为前段时间有一个小伙伴问了我一个问题,就是能不能将metamask嵌入到自己设计的网站中,在自己要进行交易的时候也会弹出一个页面来让用户确认这 ...
- infura的使用
infura 官网: https://infura.io/本地安装geth的方法需要花比较多的时间和空间来同步区块,利用infura可以简单很多,infura提供公开以太坊和测试节点,可以利用infu ...
- js 格式为2018-08-25 11:46:29 的日期比较方法
//判断日期,时间大小 function compareTime(startDate, endDate) { if (startDate.length > 0 && endDat ...
- http请求的全过程
参考资料 http://blog.jobbole.com/106632/ https://www.cnblogs.com/engeng/articles/5959335.html https://ww ...
- 如何使用zabbix初级监控
如何用zabbix监控(初步使用)? 前提:必须启动mysql 和zabbix目录下的sbin中的zabbix_agentd zabbix_server,还有nginx以及php否则会报错,因为zab ...
- tcpdump -i eth0 -n -vvv src or dst port 443
tcpdump -i eth0 -n -vvv src or dst port 443
- patch函数的解释1
https://ww2.mathworks.cn/help/matlab/ref/patch.html?ue 语法 patch(X,Y,C) patch(X,Y,Z,C) patch('XData', ...