sh脚本
不能随意空格

1、echo:打印信息
echo "Kylin" |

2、exit:用于终止脚本的执行,并返回一个退出状态码
- 正常退出
echo "脚本执行完毕"
exit 0 - 异常退出
if [ $# -lt 1 ];then
echo "参数不足"
exit 1
fi
3、$0、$1、$2等
假设执行 ./test.sh a b c 这样一个命令,则可以使用下面的参数来获取一些值:
$0对应./test.sh这个值。如果执行的是./work/test.sh, 则对应./work/test.sh这个值,而不是只返回文件名本身的部分。$1会获取到 a,即 $1 对应传给脚本的第一个参数。$2会获取到 b,即 $2 对应传给脚本的第二个参数。$3会获取到 c,即 $3 对应传给脚本的第三个参数。$4、$5等参数的含义依此类推。
3.1、在vue中
npm run test"test": "sh scripts/test.sh"
echo "By Kylin"
zero=$0
one=$1
echo "输入了:$zero, $one"
4、if语句
- fi关键词用于标记if语句结尾
- 可以使用
[]、[[]]、(())等条件表达式 - 都需要空格隔开,
(())除外if 判断语句一 ; then
command1
elif 判断语句二; then
command2
else
command3
fi
#!/bin/bash
echo "By Kylin"
one=$1
echo "输入了:$one"
if [[ $one > 0 ]]; then
echo "zero大于0"
else
echo "zero不大于0"
fi

module_name=$1 |
zip -r $file_name ./dist
这段代码的作用是根据传入的参数 $1,生成一个模块名称 module_name,然后使用 Vue CLI Service 进行项目构建。接着,根据当前日期和模块名称生成一个文件名 file_name,并检查是否存在同名的文件。如果存在,则删除该文件。最后,将 ./dist 目录下的文件压缩为一个名为 $file_name 的 ZIP 文件。
具体解释如下:
module_name=$1: 将传入的第一个参数 $1 赋值给变量module_name。这个参数可能是一个模块名称,用于后续的文件命名和构建过程。module_name=$module_name vue-cli-service build: 使用 Vue CLI Service 构建项目。$module_name是之前定义的模块名称,通过这个命令可以进行项目构建。file_name=【$(date +%m%d)】$module_name-fe.zip: 根据当前日期和模块名称生成一个文件名file_name。文件名的格式为 【月日】模块名称-fe.zip,其中$(date +%m%d)表示获取当前日期的月份和日期。if [[ -f $file_name ]]; then: 检查是否存在同名的文件。-f表示判断文件是否存在,$file_name是之前定义的文件名。rm -rf $file_name: 如果存在同名的文件,则使用rm命令删除该文件。`-rf 表示递归删除文件和目录。zip -r $file_name ./dist: 将./dist目录下的文件压缩为一个名为$file_name的 ZIP 文件。-r表示递归地将目录及其子目录中的文件都压缩进 ZIP 文件中。
5、解析日期和时间
year=`date +%Y` |

year=`date +%Y` |
6、read:读取
echo "请输入你的名称" |

7、测试文件
-e name 测试一个文件是否存在 |

8、运算符

本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 晚风予星!
评论




