Shell脚本

Shell脚本

  • 1 安装shellCheck
    • shellCheck的使用
    • 2 集群命令
      • 1 echo带颜色输出
      • 2 $开头的变量的含义
      • 3 cat命令
        • 1.`cat

1 安装shellCheck

yum -y install epel-release
yum -y install ShellCheck

shellCheck的使用

1.shellcheck + 文件就行

shellcheck ping5.sh

Shell脚本_第1张图片

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 ping6.sh

把文件ping5中的内容拷贝到ping6文件中,ping6没有的话会自动创建,如果ping6中有内容会覆盖。

2.cat >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

你可能感兴趣的:(Linux,Shell,linux)