• 四、Shell输入、输出功能和字符颜色设置


    一、Shell输入功能

    1、键盘输入
     
    方式一:
    [root@Salve four]# cat test.sh
    #!/bin/bash
     
    #-e 参数可以解析语句中的转义字符
    echo -e "my name is user1
     my name is user2"
    #-n 参数可以让echo命令结尾不换行
    echo -n "my name is user1
     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
     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
    Very Good!"
    echo -e "33[32;47m [test]33[0m"

    [root@Salve four]#./output.sh HelloWorld! HelloWorld VeryGood! [test]
    3、字幕颜色变化
    (1)、例子:
     
    [root@Salve four]# cat out2.sh
    #!/bin/bash
     
    echo -e "httpd process 33[32;40m [OK] 33[0m "
    [root@Salve four]# sh out2.sh
    httpd process [OK]
    (2)、颜色语法:
        33[前景色;背景色m
        33[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字符串
            1)user1
            2)user2
            3)user3
    x
    [root@Salve four]# sh a.sh
        Please input your name:
            1)user1
            2)user2
            3)user3
    (2)、tee
    用法:tee [选项]... [文件]...
    将标准输入复制到每个指定文件,并显示到标准输出。(输出一份并保存一份)
     
      -a, --append        内容追加到给定的文件而非覆盖
      -i, --ignore-interrupts    忽略中断信号
    例子:有利于边输出边保存
    [root@Salve four]# sh a.sh | tee menu.txt
    Please input your name:
    1)user1
    2)user2
    3)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 -2|nl
    nl /etc/passwd | head -2
     
    [root@Salve four]# sh b.sh
    1    root:x:0:0:root:/root:/bin/bash
    2    bin:x:1:1:bin:/bin:/sbin/nologin
    1    root:x:0:0:root:/root:/bin/bash
    2    bin:x:1:1:bin:/bin:/sbin/nologin
     
     
  • 相关阅读:
    svn安装使用
    mysql安装使用
    iframe使用
    Confluence 6 自定义你的空间
    Confluence 6 设置其他页面为你空间的主页
    Confluence 6 设置你的个人空间主页
    Confluence 6 空间中的常用宏
    Confluence 6 如何考虑设置一个空间的主页
    Confluence 6 设置一个空间主页
    Confluence 6 如何让我的小组成员知道那些内容是重要的
  • 原文地址:https://www.cnblogs.com/chinas/p/5557753.html
Copyright © 2020-2023  润新知