本文共 1431 字,大约阅读时间需要 4 分钟。
#!/bin/sh -e #这里e表示若指令的返回值不等于零则立即退出shell,也可以用set -e代替#用决定路径执行,并给字符串赋值. ../../utils/sh-test-lib#得到当前目录下的output这个目录OUTPUT="$(pwd)/output"RESULT_FILE="${OUTPUT}/result.txt"LOG_FILE="${OUTPUT}/blogbench.txt"ITERATION="30"PARTITION=""#定义函数,说明这个脚本的用途usage() { echo "Usage: $0 [-i] [-p ]" 1>&2 exit 1}#这个脚本可以指定3个可选参数while getopts "i:p:h" o; do case "$o" in i) ITERATION="${OPTARG}" ;; p) PARTITION="${OPTARG}" ;; h|*) usage ;; esacdone#调用函数检查是否是root 用户,如果不是root 用户,则输出错误日志! check_root && error_msg "You need to be root to run this script."create_out_dir "${OUTPUT}"# Set the directory for blogbench test.#如果PARTITION 为nullif [ -n "${PARTITION}" ]; then # 如果已经有mount节点的哈 if mount | grep -q "${PARTITION}"; then #则将partition mount到/mnt 目录,并cd 到/mnt 中 mount "${PARTITION}" /mnt cd /mnt/ else #如果已经存在mount 节点的话,则找到这个节点,然后cd到这个节点目录中 mount_point=$(mount | grep "${PARTITION}" | awk '{print $3}') cd "${mount_point}" fifi#新建一个目录mkdir ./bench# Run blogbench test.#检查当前平台是arm还是x86detect_abi# shellcheck disable=SC2154#执行blogbench 命令./bin/"${abi}"/blogbench -i "${ITERATION}" -d ./bench 2>&1 | tee "${LOG_FILE}"# Parse test result.#在输出的log中找writes 和 reads的信息for i in writes reads; do grep "Final score for $i" "${LOG_FILE}" \ | awk -v i="$i" '{printf("blogbench-%s pass %s blogs\n", i, $NF)}' \ | tee -a "${RESULT_FILE}"done#删除bench 这个文件rm -rf ./bench
转载地址:http://cwnmi.baihongyu.com/