Shell脚本执行方式和转义符
一、echo命令:echo [选项] [输出内容]
-e:支持反斜杠控制的字符转换。
常见的转义符
\:输出\本身 \a:输出警告音 \b:退格键(向左删除键)
\c:取消输出行末的换行符,和"-n"选项功能相同
\e:ESCAPE键 \f:换页符 :换行符
\r:回车键 \t:制表符(Tab键)
\v:垂直制表符:不常用,作用是让‘\v’后面的字符从下一行开始输出,且开始的列数为“\v”前一个字符所在列后面一列。
\0nnn:按照八进制ASCII码表输出字符,其中0为数字零,nnn是三位八进制数
\xhh:按照十六进制ASCII码表输出字符,其中hh是两位十六进制数
\e[1; :代表开始颜色输出,后面跟颜色码
\e[0m :代表结束结束颜色输出
颜色代码:30m:黑色 31m:红色 32m:绿色
33m:黄色 34m:蓝色 35m:洋红 36m:青色 37m:白色
如echo -e "\e[1;34m haha\e[0m",输出蓝色的haha字符。
二、执行脚本文件
vim hello.sh #!/bin/bash 脚本文件的第一行的#!/bin/bash并不是注释语句,是告诉系统这个文件是Shell脚本,不加的话后面的Shell脚本语句可能会有些语句不能解释执行
脚本文件保存以后执行有两种方法:
1、赋予脚本文件执行权限,然后直接运行(最常用的方法)
chmod 755 脚本文件名
./脚本文件名(脚本文件的相对路径或绝对路径)
2、通过bash调用执行脚本(不需要拥有文件的执行权限)
bash 脚本文件名(如果在当前目录可以直接写名字,也可以写相对路径或绝对路径)
在win系统中编辑的shell脚本在Linux中运行一般会出现错误,这是因为win系统中的如回车换行和Linux中的不一样,会造成Linux系统不能识别。所以如果是在win系统中上传到Linux中的shell脚本,需要手动运行命令doc2unix 文件名,来转换文件内容中的Linux不兼容win的字符。
命令doc2unix可能在有些系统中并没有安装,需要手工安装yum -y install doc2unix才能运行