echo 命令

用于在控制台输出

  1. 语法:echo [-ne][字符串]
  2. 补充说明:
  3. 1echo会将输入的字符串送往标准输出。
  4. 2、输出的字符串间以空白字符隔开,并在最后加上换行号。
  5. OPTIONS
  6. -n 不要在最后自动换行
  7. -e 若字符串中出现以下字符,则特别加以处理,而不会将它当成一般文字输出:
  8. 转义字符
  9. \a 发出警告声;
  10. \b 删除前一个字符;
  11. \t 插入tab;
  12. \n 换行且光标移至行首;
  13. \c 最后不加上换行符号;
  14. \f 换行但光标仍旧停留在原来的位置;
  15. \r 光标移至行首,但不换行;
  16. \v \f相同;
  17. \ 插入\字符;
  18. \0nnn 打印nnn(八进制)所代表的ASCII字符; 备注:数字0 不要理解成字母o
  19. \xNN 打印NN(十六进制)所代表的ASCII字符;
  20. -–help 显示帮助
  21. -–version显示版本信息

输出颜色字体

脚本中echo显示内容带颜色显示,echo显示带颜色,需要使用参数-e

  1. 格式如下:
  2. echo -e "\033[字背景颜色;文字颜色m字符串\033[0m"
  3. 下面是相应的字和背景颜色,可以自己来尝试找出不同颜色搭配
  4.   
  5.   echo -e \033[31m 红色字 \033[0m
  6.   echo -e \033[34m 黄色字 \033[0m
  7.   echo -e \033[41;33m 红底黄字 \033[0m
  8.   echo -e \033[41;37m 红底白字 \033[0m
  9.   
  10. 字颜色:30—–37
  11.   echo -e \033[30m 黑色字 \033[0m
  12.   echo -e \033[31m 红色字 \033[0m
  13.   echo -e \033[32m 绿色字 \033[0m
  14.   echo -e \033[33m 黄色字 \033[0m
  15.   echo -e \033[34m 蓝色字 \033[0m
  16.   echo -e \033[35m 紫色字 \033[0m
  17.   echo -e \033[36m 天蓝字 \033[0m
  18.   echo -e \033[37m 白色字 \033[0m
  19.   
  20. 字背景颜色范围:40—–47
  21.   echo -e \033[40;37m 黑底白字 \033[0m
  22.   echo -e \033[41;37m 红底白字 \033[0m
  23.   echo -e \033[42;37m 绿底白字 \033[0m
  24.   echo -e \033[43;37m 黄底白字 \033[0m
  25.   echo -e \033[44;37m 蓝底白字 \033[0m
  26.   echo -e \033[45;37m 紫底白字 \033[0m
  27.   echo -e \033[46;37m 天蓝底白字 \033[0m
  28.   echo -e \033[47;30m 白底黑字 \033[0m
  29.   
  30. 最后面控制选项说明
  31.   \033[0m 关闭所有属性
  32.   \033[1m 设置高亮度
  33.   \033[4m 下划线
  34.   \033[5m 闪烁
  35.   \033[7m 反显
  36.   \033[8m 消隐
  37.   \033[30m \33[37m
  38. 设置前景色
  39.   \033[40m \33[47m 设置背景色
  40.   
  41.   \033[nA 光标上移n
  42.   \033[nB 光标下移n
  43.   \033[nC 光标右移n
  44.   \033[nD 光标左移n
  45.   \033[y;xH设置光标位置
  46.   \033[2J 清屏
  47.   \033[K 清除从光标到行尾的内容
  48.   \33[s 保存光标位置
  49.   \033[u 恢复光标位置
  50.   \033[?25l 隐藏光标
  51.   \033[?25h 显示光标

练习1

需求:输出一个水果购物界面 fruits_shop.sh
Shell 格式化输出/输入 - 图1

  1. #!usr/bin/bash
  2. #
  3. # Filename: fruits_shop.sh
  4. # Author: HelloChen
  5. # CreatTime: 2021-1-13 15:33:14
  6. # Description: Print a list of fruit supermarkets
  7. echo -e "\t\t \033[32m Fruits List \033[0m \n"
  8. echo -e "\t \033[31mFruit\033[0m\t\033[31mPrice\033[0m \t\t\033[31mWeight\033[0m"
  9. echo -e "\t\033[34m1)Apple\t\t\$10.00\t\t1KG\033[0m"
  10. echo -e "\t\033[34m2)Banana\t\$9.00\t\t1KG\033[0m"
  11. echo -e "\t\033[34m3)Orange\t\$15.20\t\t1KG\033[0m"

read

用于接收键盘的输入,回车符代表输入结束

  1. -p 打印信息
  2. -t 限定时间
  3. -s 不回显
  4. -n 输入字符个数

练习2

写一个系统用户交互登录界面脚本,仿linux文本界面登录

  1. #!/usr/bin/bash
  2. #
  3. # Filename: login.sh
  4. # Author: HelloChen
  5. # CreatTime: 2021-1-13 15:36:19
  6. # Description: Simulated login
  7. IP=`ifconfig eth0|egrep -w "inet"|awk '{print $2}'`
  8. #1.清屏
  9. clear
  10. #2.输出提示信息
  11. echo "CentOS Linux 8 (Core)"
  12. echo -e "Kernel `uname -r` on an `uname -m`\n"
  13. echo -e "Web console: https://localhost:9090/ or https://$IP:9090/ \n"
  14. #3.交互输入登陆名
  15. echo -n "$HOSTNAME login: "
  16. read account
  17. #4.交互输入密码
  18. read -s -t30 -p "Password: " pw
  19. echo

123.gif