一、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. 【推荐】CentOS安装Tomcat-7.0.57+启动配置+安全配置+性能配置

    注:以下所有操作均在CentOS 6.5 x86_64位系统下完成. #准备工作# 在安装Tomcat之前,请确保已经安装了JDK-1.7环境,具体见<CentOS安装JDK-1.7>. ...

  2. 基于Ubuntu14.04系统的nvidia tesla K40驱动和cuda 7.5安装笔记

    基于Ubuntu14.04系统的nvidia tesla K40驱动和cuda 7.5安装笔记 飞翔的蜘蛛人 注1:本人新手,文章中不准确的地方,欢迎批评指正 注2:知识储备应达到Linux入门级水平 ...

  3. ubuntu下apache重启报Could not reliably determine the server’s fully......

    在Ubuntu上安装Apache,每次重启,都会出现以下错误提示: Could not reliably determine the server’s fully qualified domain n ...

  4. shell中export理解误区

    一直以来,以为shell脚本中经过export后的变量会影响到执行这个shell的终端中的环境变量.环境变量这个概念不是shell所独有的,而是linux里面进程所拥有的,shell解释器运行起来就是 ...

  5. python3下urlopen解析中文url编码错误

    这是在ipython下测试的结果: In [24]: x Out[24]: 'http://127.0.0.1:8000/xxx/?id=a45ex0bad3c9&game=五子棋' In [ ...

  6. 嵌入式Linux驱动学习之路(十一)按键驱动-中断机制

    轮询方式: 和led驱动不同的是在配置IO引脚的时候,把LED的输出引脚换成输入,在read函数中向外发送io的状态.必须由应用程序不断的来查询当前IO口的状态来判断. 中断方式: /* file n ...

  7. Tomcat server.xml配置示例

    本文由 ImportNew 几乎所有容器类型的应用都会包含一个名为 server.xml 的文件结构.基本上,其中的每个元数据或者配置都是容器完成初始化所需要的.正是由于这些内容都是可配置的,使得软件 ...

  8. C#.NET 大型企业信息化系统集成快速开发平台 4.2 版本 - 实现缓存预热

    因为大型应用系统可能有几十个子系统,为了减轻数据库频繁读写压力.提高系统的运行速度.反映速度,大型应用系统都需要采用缓存机制提高运行效率.Redis 缓存预热实现将来大家很多基础数据都可以缓存获取,不 ...

  9. margin-top无效的问题解决方法

    今天碰到了margin-top无效的问题,解决方法也有很多一行代码就解决了 解决办法: 1.设置父元素或者自身的display:inline-block;(IE6.IE7不识别inline-block ...

  10. jquery实现html表格隔行变色

    效果图 实现代码: 通过css控制样式,利用jquery的addClass方法实现 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Trans ...