Shell脚本基础从头开始(五)── shell的输入输出

shell的输入

前面学习的过程中,我们提到了使用read -p命令,shell可以接收用户输入的参数并赋值给对应的变量,这里再介绍一个echo -n,可以实现同样的效果。

#!/bin/bash
# 关于 read 命令的使用

read -p "please input your name:" name
echo "hello,$name!"

echo -n "请输入你的名字:"
read name
echo "你好,$name"

使用echo可以输出空行。

关于cat

以前我们知道cat命令是作为一个查看文件内容的命令来使用,今天这里教大家一个另类的cat的使用技巧。
有时候我们需要在控制台做一些简单菜单的效果,菜单可能有缩进对齐等,要求需要系统对我们的菜单原样输出,保持原来的空格和缩进,这人有个名词heredoc,也叫字符串标记输出。利用cat就可以实现这样的效果。
例如:需要做一个简单的学习管理系统的菜单如下:

学生管理系统:
	1).添加学生
	2).删除学生
	3).查看学生
	4).退出系统

语法:cat << 开始标记符
具体内用,保持格式
结束标识符
实现上面的菜单代码如下:

#!/bin/bash
# heredoc 实现菜单

cat <<x
学生管理系统:
        1).添加学生
        2).删除学生
        3).查看学生
        4).退出系统
x

注意:起始标识符和结束标识符需要保持一致。

shell的输出

我们常用的echo可以添加一个-e选项,这样echo命令可以解析转义字符级颜色信息。
例如:

echo "my name is zhangsan \n i am 18 years old\n"

无法解析\n

my name is zhangsan \n i am 18 years old\n

使用

echo -e "my name is zhangsan \n i am 18 years old\n"

可以解析转义字符\n

my name is zhangsan
i am 18 years old

我们在启动linux服务器的时候,经常看到类似 [ok] 或者是 [failed] 的字样,这种带颜色的文字怎么通过shell实现呢?
这个同样需要echo -e来完成,刚才我们提到-e可以解析颜色。
基本语法:\033[前景颜色;背景颜色 具体内容\033[0m
很难受的一个语法,有木有?
来个 [ok]

echo -e "\033[32;40m[ok]\033[0m"

前景色和背景色各有 8 中,对应关系如下:

对应作用
30设置黑色前景
31设置红色前景
32设置绿色前景
33设置棕色前景
34设置蓝色前景
35设置紫色前景
36设置青色前景
37设置白色前景
背景色
40设置黑色背景
41设置红色背景
42设置绿色背景
43设置棕色背景
44设置蓝色背景
45设置紫色背景
46设置青色背景
47设置白色背景

而且后面的 [0m是必须要有的,你可以试试不加的效果。

好了,今天的内容就到这里了,下节我们开始学习shell的条件测试,它可是流程控制必不可少的部分。

系列传送门如下:
Shell脚本基础从头开始(一)── 几个linux实操技巧
Shell脚本基础从头开始(二)── 输出重定向
Shell脚本基础从头开始(三)── linux的权限管理
Shell脚本基础从头开始(四)── 第一个shell脚本
Shell脚本基础从头开始(六) ── shell条件测试
Shell脚本基础从头开始(七)── shell的流程控制
Shell脚本基础从头开始(八)── shell的循环语句
Shell脚本基础从头开始(九)── shell的循环语句控制
Shell脚本基础从头开始(十)── shell的文本过滤
Shell脚本基础从头开始(十一)── shell的文本过滤(二)
Shell脚本基础从头开始(十二)── 制作一个字符菜单
Shell脚本基础从头开始(完结篇)── 利用shell编写监控脚本以及shell操作数据库

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

不务正业的攻城狮

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值