1 安装shellCheck
yum -y install epel-release
yum -y install ShellCheck
shellCheck的使用
1.shellcheck + 文件就行
shellcheck ping5.sh
2 集群命令
1 echo带颜色输出
echo -e "\033[30m 黑色字 \033[0m"
echo -e "\033[31m 红色字 \033[0m"
echo -e "\033[32m 绿色字 \033[0m"
echo -e "\033[33m 黄色字 \033[0m"
echo -e "\033[34m 蓝色字 \033[0m"
echo -e "\033[35m 紫色字 \033[0m"
echo -e "\033[36m 天蓝字 \033[0m"
echo -e "\033[37m 白色字 \033[0m"
2 $开头的变量的含义
变量 含义
$0 当前脚本的文件名
$n 传递给脚本或函数的参数。n 是一个数字,表示第几个参数。例如,第一个参数是$1,第二个参数是$2。
$# 传递给脚本或函数的参数个数。
$* 传递给脚本或函数的所有参数。
$@ 传递给脚本或函数的所有参数。被双引号(" ")包含时,与 $* 稍有不同,下面将会讲到。
$? 上个命令的退出状态,或函数的返回值。一般情况下,大部分命令执行成功会返回 0,失败返回 1。
$$ 当前Shell进程ID。对于 Shell 脚本,就是这些脚本所在的进程ID。
3 cat命令
1.cat <ping5.sh>ping6.sh
把文件ping5中的内容拷贝到ping6文件中,ping6没有的话会自动创建,如果ping6中有内容会覆盖。
2.cat <ping5.sh>>ping6.sh
把文件ping5中的内容拷贝到ping6文件中,ping6没有的话会自动创建,如果ping6中有会添加到ping6的尾行后,不会覆盖
。
4 grep命令
-a 不要忽略二进制数据。
-A<显示列数> 除了显示符合范本样式的那一行之外,并显示该行之后的内容。
-b 在显示符合范本样式的那一行之外,并显示该行之前的内容。
-c 计算符合范本样式的列数。
-C<显示列数>或-<显示列数> 除了显示符合范本样式的那一列之外,并显示该列之前后的内容。
-d<进行动作> 当指定要查找的是目录而非文件时,必须使用这项参数,否则grep命令将回报信息并停止动作。
-e<范本样式> 指定字符串作为查找文件内容的范本样式。
-E 将范本样式为延伸的普通表示法来使用,意味着使用能使用扩展正则表达式。
-f<范本文件> 指定范本文件,其内容有一个或多个范本样式,让grep查找符合范本条件的文件内容,格式为每一列的范本样式。
-F 将范本样式视为固定字符串的列表。
-G 将范本样式视为普通的表示法来使用。
-h 在显示符合范本样式的那一列之前,不标示该列所属的文件名称。
-H 在显示符合范本样式的那一列之前,标示该列的文件名称。
-i 忽略字符大小写的差别。
-l 列出文件内容符合指定的范本样式的文件名称。
-L 列出文件内容不符合指定的范本样式的文件名称。
-n 在显示符合范本样式的那一列之前,标示出该列的编号。
-q 不显示任何信息。
-R/-r 此参数的效果和指定“-d recurse”参数相同。
-s 不显示错误信息。
-v 反转查找。
-w 只显示全字符合的列。
-x 只显示全列符合的列。
-y 此参数效果跟“-i”相同。
-o 只输出文件中匹配到的部分。
6 wc命令
#文件行数,从0开始计数:wc -l filename
wc -l a.txt
#文件单词数:wc -w filename
wc -w a.txt
#文件字符数,空格也算一个字符:wc -c filename
wc -c a.txt
3 零散命令
1 常见命令
1.赋予文件权限`chmod +x test`
2.编译检查`sh -xv ping.sh`其中`ping.sh`是`shell`脚本名
3.把一个临时变量变为环境变量`export 变量名`
2 把文件xx中的内容引入当前文件中
source ./ping4.sh
3 ping
ip
然后响应信息不打应,输出空
ping -c1 $IP &>/dev/null
4 读入控制台输入回车键确认,然后把输入的值赋值给变量IP
read -p " ples is ping NetWork Ip: " IP
5 拷贝命令
文件拷贝:cp sourcefile destfile
cp a.txt b.txt