一、Shell输入功能

1、键盘输入
 
方式一:
[root@Salve four]# cat test.sh
#!/bin/bash #-e 参数可以解析语句中的转义字符
echo -e "my name is user1\n my name is user2"
#-n 参数可以让echo命令结尾不换行
echo -n "my name is user1\n my name is user2"
echo #输出一个空行
#一个应用实例
echo -n "请输入你的名字:"
read name
echo $name
echo "my name is $name" [root@Salve four]#./test.sh
my name is user1
my name is user2
my name is user1\n my name is user2 请输入你的名字:tom
tom 

方式二:

[root@Salve four]# cat demo.sh
#!/bin/bash read -p '输入你的名字:' name
echo $name
[root@Salve four]#./demo.sh
输入你的名字:tom
tom
 
二、Shell输出功能

[root@Salve four]# cat output.sh
#!/bin/bash echo "Hello World!"
echo -e "Hello World\nVery Good!"
echo -e "\033[32;47m [test]\033[0m" [root@Salve four]#./output.sh
HelloWorld!
HelloWorld
VeryGood!
[test]
3、字幕颜色变化
(1)、例子:
 

[root@Salve four]# cat out2.sh
#!/bin/bash echo -e "httpd process \033[32;40m [OK] \033[0m "
[root@Salve four]# sh out2.sh
httpd process [OK]

(2)、颜色语法:

    \033[前景色;背景色m
    \033[0m                   #0m代表恢复到系统默认的颜色
 
(3)、字符界面前景颜色与背景颜色:
    前景色:30黑 31红 32绿 33黄 34蓝 35紫 36青 37白
    背景色:40黑 41红 42绿 43黄 44青 45蓝 46青 47白
 
4、其他命令
(1)、cat
    用法:cat [选项]... [文件]...
    将[文件]或标准输入组合输出到标准输出。
 
      -b, --number-nonblank    对非空输出行编号
      -E, --show-ends          在每行结束处显示"$"
      -n, --number             对输出的所有行编号
      -s, --squeeze-blank      不输出多行空行
      -T, --show-tabs          将跳格字符显示为^I
用途:制作菜单,如下: 
 例子:
root@Salve four]# cat a.sh
#!/bin/bash cat<<x #注意:可以是任意值,而非x,表示从x开始到x结束,原样输出
Please input your name: #heredoc字符串
)user1
)user2
)user3
x
[root@Salve four]# sh a.sh
Please input your name:
)user1
)user2
)user3
(2)、tee
用法:tee [选项]... [文件]...
将标准输入复制到每个指定文件,并显示到标准输出。(输出一份并保存一份)
 
  -a, --append        内容追加到给定的文件而非覆盖
  -i, --ignore-interrupts    忽略中断信号
例子:有利于边输出边保存
[root@Salve four]# sh a.sh | tee menu.txt
Please input your name:
)user1
)user2
)user3
[root@Salve four]# ls
a.sh demo.sh menu.txt out2.sh output.sh test.sh
(3)、more
分页查看
 
(4)、head
用法:head [选项]... [文件]...
将每个指定文件的头10 行显示到标准输出。
  -c,      显示每个文件的前K 字节内容;           
  -n,     显示每个文件的前K 行内容;
              
(5)、tail
用法:tail [选项]... [文件]...
显示每个指定文件的最后10 行到标准输出。
 
  -c,       输出最后K 字节;另外,使用-c +K 从每个文件的第K 字节输出
  -f,         即时输出文件变化后追加的数据。
  -n,       输出最后几行
 
(6)、nl
添加行号

[root@Salve four]# cat b.sh
#!/bin/bash cat /etc/passwd | head -|nl
nl /etc/passwd | head - [root@Salve four]# sh b.sh
root:x:::root:/root:/bin/bash
bin:x:::bin:/bin:/sbin/nologin
root:x:::root:/root:/bin/bash
bin:x:::bin:/bin:/sbin/nologin
 
 

四、Shell输入、输出功能和字符颜色设置的更多相关文章

  1. Shell(五)Shell输入/输出重定向

    Shell 输入/输出重定向 大多数 UNIX 系统命令从你的终端接受输入并将所产生的输出发送回​​到您的终端.一个命令通常从一个叫标准输入的地方读取输入,默认情况下,这恰好是你的终端.同样,一个命令 ...

  2. Shell test 命令,Shell 输入/输出重定向

    一.Shell test 命令 Shell中的 test 命令用于检查某个条件是否成立,它可以进行数值.字符和文件三个方面的测试. 数值测试 参数 说明 -eq 等于则为真 -ne 不等于则为真 -g ...

  3. 十一、Shell 输入/输出重定向

    Shell 输入/输出重定向 大多数 UNIX 系统命令从你的终端接受输入并将所产生的输出发送回​​到您的终端.一个命令通常从一个叫标准输入的地方读取输入,默认情况下,这恰好是你的终端.同样,一个命令 ...

  4. I/O(输入/输出)---字节流与字符流

    流: 分为输入流和输出流,输入/输出是相对计算机内存来说的,数据输入到内存是输入流,数据从内存中输出是输出流. 流对象构造的时候会和数据源联系起来. 数据源分为:源数据源和目标数据源.输入流联系的是源 ...

  5. Shell输入/输出重定向

    输出重定向 重定向一般通过在命令间插入特定的符号来实现.特别的,这些符号的语法如下所示 command1 >file1 上面这个命令执行command1然后将输出的内容存入file1. 注意任何 ...

  6. Shell 输入/输出重定向

    大多数 UNIX 系统命令从你的终端接受输入并将所产生的输出发送回​​到您的终端.命令通常从标准输入的地方读取输入,默认是终端.标准输出,默认情况下是终端. 重定向命令列表如下: 命令 说明 comm ...

  7. Java 输入/输出——字节流和字符流

    1.流的分类 (1)输入流和输出流(划分输入/输出流时是从程序运行所在内存的角度来考虑的) 输入流:只能从中读取数据,而不能向其写入数据. 输出流:只能向其写入数据,而不能从中读取数据. 输入流主要由 ...

  8. 吴裕雄--天生自然ShellX学习笔记:Shell 输入/输出重定向

    大多数 UNIX 系统命令从你的终端接受输入并将所产生的输出发送回​​到您的终端.一个命令通常从一个叫标准输入的地方读取输入,默认情况下,这恰好是你的终端.同样,一个命令通常将其输出写入到标准输出,默 ...

  9. 第四章输入/输出(I/O)4.1I/O涉及的设备及相关概念简介

    PCL中所有的处理都是基于点云展开的,利用不同的设备获取点云.存储点云等都是点云处理前后必须做的流程,PCL中有自己设计的内部PCD文件格式,为此,设计读写该该格式以及与其他3D文件格式之间进行转化的 ...

随机推荐

  1. 大型web系统数据缓存设计

    1. 前言 在高访问量的web系统中,缓存几乎是离不开的:但是一个适当.高效的缓存方案设计却并不容易:所以接下来将讨论一下应用系统缓存的设计方面应该注意哪些东西,包括缓存的选型.常见缓存系统的特点和数 ...

  2. percona教程:MySQL GROUP_CONCAT的使用

    percona有一篇blog: The power of MySQL GROUP_CONCAT 比较详细地介绍了GROUP_CONCAT函数的用法.简单地翻译了一下. 假设你有4名工程师,这周他们为6 ...

  3. 关于windows 7 安装Vim的安装步骤介绍。——Arvin

    在Ubuntu中第一次使用VIM编辑器发现好强大,打算在Win7中安装,其中遇到一些小问题,下边介绍详细的安装过程和遇到的问题. 1-安装 首先发现Github中有一款中意的作者,并且他开源的基本插件 ...

  4. hadoop2.6.2+hbase+zookeeper环境搭建

    1.hadoop环境搭建,版本:2.6.2,参考:http://www.cnblogs.com/bookwed/p/5251393.html 启动服务:在master机器上,进入hadoop安装目录, ...

  5. UVA - 10375 Choose and divide[唯一分解定理]

    UVA - 10375 Choose and divide Choose and divide Time Limit: 1000MS   Memory Limit: 65536K Total Subm ...

  6. 第14章 集合框架(1)-List集合的各种类

    1.概述 1.1.Java集合框架的由来 1.2.什么是集合框架? 1.3.为什么需要集合框架 1.4.常用的框架接口规范 2.Vector类 2.1.存储原理 2.2.构造方法 2.3.常用方法 3 ...

  7. ajax获取数据的形象比喻,助于理解记忆

    过程 创建对象(打开浏览器) 连接服务器(输入网址) 发送请求(按下回车) 服务器接收并返回数据(显示对应的网址网站内容) 原理

  8. eclipse自动提示功能没了的解决办法(转载)

    eclipse自动提示功能没了的解决办法 标签: eclipse联想 2012-08-09 14:32 24687人阅读 评论(7) 收藏 举报  分类: Android(38)  版权声明:本文为博 ...

  9. 代码覆盖工具(gcov、lcov)的使用

    一.安装 gcov:是随gcc一起发布的,并不需要独立安装:lcov:其他博客说是随ltp发布的,结果下载下ltp之后编译了10多分钟,最后也没见lcov,最后到sourceforge下载了lcov单 ...

  10. ajax给全局变量赋值问题解决示例

    今天在做项目时,遇到了一个问题.我用的是ajax,要在 ajax里面给一个全局变量赋值,结果死活赋值不上,纠结了好半天,后来上网查了查,才 知道,ajax默认是异步请求,(当要赋值时,此时的值没有拿到 ...