一、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. WIN32下使用DirectSound接口的简单音频播放器(支持wav和mp3)

    刚好最近接触了一些DirectSound,就写了一个小程序练练手,可以用来添加播放基本的wav和mp3音频文件的播放器.界面只是简单的GDI,dxsdk只使用了DirectSound8相关的接口. D ...

  2. Struts2核心技术简介

    Struts2核心技术简介 使用Struts2框架,只要注重以下三大元素:配置文件.映射文件和Action: 全局属性文件struts.properties:保存系统运行的一些参数变量,整个系统只有一 ...

  3. 如何用python在Windows系统下,生成UNIX格式文件

    平时测试工作中,少不了制造测试数据.最近一个项目,我就需要制造一批可在UNIX下正确读取的文件.为确保这批文件能从FTP下载成功,开发叮嘱我:“文件中凡是遇到换行,换行符必须是UNIX下的LF,而不是 ...

  4. 电脑缺少**.dll文件

    今天一时手残他么的删了好几个Microsoft Visual C++,导致腾讯的软件都不能用,搞了半天最后在360我的专家里看到相同问题,后来照做,就给下载好啦,哈哈哈哈哈哈哈哈,360大神 

  5. 项目<<魔兽登录系统>>

    创建魔兽系统相关窗体: 登录窗体(frmLogin) 注册窗体(frmRegister) 主窗体   (frmMain) 实现魔兽登录系统: 登录的界面如下 实现思路: 1.创建一个对象数组,长度为1 ...

  6. Unity3D 预设打包的注意事项

    在平时的开发中,把预设打包成 assetbundle 文件是非常普遍的做法,但是我们不能随便把预设打包成 assetbundle 就算完事,我们应该先清楚把预设打包成 assetbundle 的目的, ...

  7. FineUI(专业版)v2.6.0即将支持的两个新特性!

    特性1:以一挡三,将 160 行代码缩减为 60 行的技巧! 为了更新单元格的编辑值,我们需要下面三个函数同时上阵: GetModifiedDict:修改的单元格值 GetDeletedList:删除 ...

  8. knockoutJS学习笔记02:jsRender模板引擎

    上一篇最后提到了模板,并尝试自己编写一个最简单版本:有些朋友可能用过 jqtmpl,这是一个基于jquery的模板引擎,不过它已经不再更新了,而且据说渲染速度比较慢.这里介绍另外一个模板引擎:jsRe ...

  9. knockoutJS学习笔记04:监控属性

    一.语法介绍 先来看一个简单的例子: <span data-bind="text:name"></span> var obj = {name:ko.obse ...

  10. 如何用PowerShell列出你机器上的.NET Framework的版本号和SP服务补丁

    代码下载:本文提到的脚本,可以从微软的代码库下载, How to determine versions & service pack levels of .NET Framework by P ...