1.换行符(CRLF)问题
root@localhost:~# bash change_yum_v2.sh
change_yum_v2.sh: 行 9: $'\r': 未找到命令
change_yum_v2.sh: 行 21: $'\r': 未找到命令
change_yum_v2.sh: 行 30: $'\r': 未找到命令
change_yum_v2.sh: 行 38: $'\r': 未找到命令
change_yum_v2.sh: 行 42: $'\r': 未找到命令
change_yum_v2.sh: 行 44: 未预期的记号 "$'{\r'" 附近有语法错误
'hange_yum_v2.sh: 行 44: `show_header() {
脚本是在window上notepad上编写的,每一行末尾多了一个不可见的回车符 \r(CR),Bash 解释器把 \r 当成命令的一部分,于是:
-
看到
\r以为是命令名,就报 “未找到命令” -
函数定义
show_header() {变成了show_header() {\r,导致 语法错误
处理方式:
方法一:用 dos2unix 转换(推荐)
dos2unix change_yum_v2.sh
###如没有的话 需要安装
yum install dos2unix -y # CentOS/RHEL
apt install dos2unix -y # Debian/Ubuntu
方法二:用 sed 直接删除回车符
sed -i 's/\r$//' change_yum_v2.sh
方法三:用 vim 查看并转换
vim change_yum_v2.sh
:set ff=unix
:wq
2、关于颜色输出
拆解一下这个绿色的 GREEN='\033[32m'
GREEN='\033[32m'
其实是由三部分组成
\033[ +效果代码+m
\033 这是固定的开始符 也可以写成 \e[
32 这是颜色代码 (这里是绿色)
m 这是固定的结束符
最关键的规则
只要写了开始符\033[ ,后面所有得字符都会变色,直到你遇到重置符\033[0m
颜色对照表
Shell 里的颜色主要分 前景色(文字颜色)和 背景色
普通颜色(最常用)
|
效果
|
代码
|
示例 (复制运行)
|
|---|---|---|
|
黑色
|
30
|
echo -e "\033[30m 黑 \033[0m" |
|
红色
|
31
|
echo -e "\033[31m 红 \033[0m" |
|
绿色
|
32
|
echo -e "\033[32m 绿 \033[0m" |
|
黄色
|
33
|
echo -e "\033[33m 黄 \033[0m" |
|
蓝色
|
34
|
echo -e "\033[34m 蓝 \033[0m" |
|
紫色
|
35
|
echo -e "\033[35m 紫 \033[0m" |
|
青色
|
36
|
echo -e "\033[36m 青 \033[0m" |
|
白色
|
37
|
echo -e "\033[37m 白 \033[0m" |
|
重置
|
0
|
用于关闭所有属性
|
高亮颜色(加粗/亮色)
只需要把上面的 3 换成 9,颜色会变得更亮(或者加粗,取决于终端)。
|
效果
|
代码
|
示例
|
|---|---|---|
|
亮红
|
91
|
echo -e "\033[91m 亮红 \033[0m" |
|
亮绿
|
92
|
echo -e "\033[92m 亮绿 \033[0m" |
|
亮黄
|
93
|
echo -e "\033[93m 亮黄 \033[0m" |
|
亮蓝
|
94
|
echo -e "\033[94m 亮蓝 \033[0m" |
背景颜色
如果你想把字背后的底色变了,把代码开头的 3 换成 4。
|
效果
|
代码
|
示例
|
|---|---|---|
|
红底
|
41
|
echo -e "\033[41m 红底白字 \033[0m" |
|
绿底
|
42
|
echo -e "\033[42m 绿底白字 \033[0m" |
|
黄底
|
43
|
echo -e "\033[43m 黄底黑字 \033[0m" |
常用的颜色
-
绿色 (
\033[32m):成功 / INFO-
用途:显示“安装成功”、“服务已启动”、“IP配置完成”。
-
-
黄色 (
\033[33m):警告 / WARN-
用途:显示“配置文件已存在,将被覆盖”、“磁盘空间不足80%”。
-
-
红色 (
\033[31m):错误 / ERROR-
用途:显示“连接失败”、“权限拒绝”、“命令不存在”。
-
-
蓝色 (
\033[34m):提示 / INFO (次要)-
用途:显示“正在下载...”、“加载模块...”。
-
-
青色 (
\033[36m):用户输入-
用途:高亮显示用户刚刚输入的内容,确认是否正确。
-
## 定义颜色和样式变量
RED='\033[31m'
GREEN='\033[32m'
YELLOW='\033[33m'
BLUE='\033[34m'
PURPLE='\033[35m'
AZURE='\033[36m'
PLAIN='\033[0m'
BOLD='\033[1m'
DIM='\033[2m'
SUCCESS="\033[1;32m✔${PLAIN}"
COMPLETE="\033[1;32m✔${PLAIN}"
WARN="\033[1;43m WARN ${PLAIN}"
ERROR="\033[1;31m✘${PLAIN}"
FAIL="\033[1;31m✘${PLAIN}"
TIP="\033[1;44m TIP ${PLAIN}"
WORKING="\033[1;36m◉${PLAIN}"
- THE END -
最后修改:2026年7月31日
非特殊说明,本博所有文章均为博主原创。
如若转载,请注明出处:https://7d.delu7.cn/137/.html
共有 0 条评论