营销型网站建设规划书,灯哥解析 wordpress,深圳软件系统开发公司,小程序开发制作教程1、前提
使用shell脚本可以将所要执行的命令行进行汇总#xff0c;统一执行#xff0c;制作为脚本工具#xff0c;简化重复性工作
1.1、常用命令
1.1.1、启动命令
假设我们拥有一个halloWord.sh的脚本#xff0c;通过cd 命令进入相对应的目录下
./halloWord.sh1.1.2、…1、前提
使用shell脚本可以将所要执行的命令行进行汇总统一执行制作为脚本工具简化重复性工作
1.1、常用命令
1.1.1、启动命令
假设我们拥有一个halloWord.sh的脚本通过cd 命令进入相对应的目录下
./halloWord.sh1.1.2、记录日志
将脚本执行的内容以及输出记录在log.txt文件中同时也控制台显示器也要输出一份可以在脚本开始处添加以下代码
# -a 后的$(date %Y-%m-%d_%H:%M:%S)_log.txt为log.txt名称
# (date %Y-%m-%d_%H:%M:%S)为当前时间 防止log文件重名
exec (tee -a $(date %Y-%m-%d_%H:%M:%S)_log.txt)1.1.3、设置变量以及输出内容
#控制台将输出内容为 127.0.0.1的字符串
DB_HOST127.0.0.1
echo $DB_HOST1.1.4、创建文件夹
#在/opt下创建Back文件夹
mkdir /opt/Back1.1.5、拷贝文件夹、文件
选项 -r递归复制目录及其内容。与-R选项相同。 -p保持源文件的权限、所有者和时间戳等属性。 -i在复制时进行交互式确认如果目标文件已经存在则提示是否覆盖。 -f强制复制不进行任何提示或警告。 -u只复制源文件比目标文件更新的文件。 -v显示详细的复制过程信息。
#cp [选项] 源文件 目标文件
#将opt目录下的log.txt文件拷贝至opt的Back目录下
#相同原理也可以拷贝文件夹
cp -R /opt/log.txt /opt/Back1.1.6、校验目录或文件夹是否存在
if [ -f /opt ]; thenecho opt目录存在
elseecho opt目录不存在
fi1.1.7、输入英语字符并转换为小写字符
echo 是否要校验opt目录是否存在(y/n)
read answer
answer$(echo $answer | tr [:upper:] [:lower:])
if [ $answer y ]; thenecho opt目录存在
elseecho opt目录不存在
fi1.1.8、中途停止脚本的执行
#使用 exit 1进行停止
#exit 1 是一个Shell命令用于在脚本中退出并返回一个非零的退出状态。
#它通常用于指示脚本或命令在执行过程中发生了错误或异常。
#当执行exit 1时脚本将立即终止
echo 是否要校验opt目录是否存在(y/n)
read answer
answer$(echo $answer | tr [:upper:] [:lower:])
if [ $answer y ]; thenecho opt目录存在
elseecho opt目录不存在echo 操作已取消exit 1
fi1.1.9、将文本内容更换为UTF-8格式
定义两个变量分别为需要源文件路径以及目标文件路径
#将opt目录下的log.txt更换为UTF-8格式
TXT_FILE/opt/log.txt
TXT_FILE_UTF/opt/log_UTF-8.txt
iconv -f GBK -t UTF-8 $TXT_FILE $TXT_FILE_UTF也可以不使用变量的方式
#将opt目录下的log.txt更换为UTF-8格式
iconv -f GBK -t UTF-8 /opt/log.txt /opt/log_UTF-8.txt2、注意事项
2.1、书写格式
.sh文件的第一行必须为#!/bin/bash 例如
2.2、权限问题
第一次调用.sh脚本是时可能会出现权限不足的问题
#脚本赋予可执行权限
chmod ux /opt/XXX.sh2.3、编写的格式问题
winodw编写可以使用编辑器(如NotePad)保存格式为unix否则会出现不可见的符号导致命令行报错脚本无法使用