bash脚本运行错误-Bad for loop variable(ubuntu)

bash脚本跨系统执行问题解决方案
遇到在Ubuntu下执行从Fedora7拷贝的bash脚本时出现Badforloopvariable错误?解决方法是使用sudo dpkg-reconfigure dash并选择NO选项。此问题源于bash和dash之间的差异。

一个从fedora7中拷贝过来的bash脚本,居然不能在ubuntu下面执行,提示错误
Bad for loop variable

G了一把,在TW同胞那里找到了答案~原来是bash和dash的问题

解决方法:
使用
sudo dpkg-reconfigure dash
选择NO。。

世界又清静了~

#!/bin/bash # 配置参数 SERVER_URL="http://192.168.3.230:15100/ibps/platform/v3/file/upload" # 替换为您的上传URL TEST_DIR="testfile" # 测试文件路径 OUTPUT_FILE="logs/upload_results.log" # 结果日志文件 CONCURRENT_USERS=10 # 并发用户数,参考负载测试需求 UPLOAD_COUNT=100 # 总上传次数 tk="eyJhbGciOiJSUzI1NiJ9.eyJzdWIiOiJjdXN0b20iLCJkIjoie1widXNlclBvXCI6e1wiaXNTdXBlclwiOlwiWVwiLFwiaWRcIjpcIjFcIixcImZ1bGxuYW1lXCI6XCLnrqHnkIblkZhcIixcImFjY291bnRcIjpcImFkbWluXCJ9LFwiY2xpZW50SWRcIjpcImlicHNcIixcImdyYW50VHlwZVwiOlwiYXV0aG9yaXphdGlvbl9jb2RlXCJ9IiwiaXNzIjoiaWJwcyIsImV4cCI6MTc2MTIzMjg4MywiaWF0IjoxNzYxMjA0MDgzLCJqdGkiOiIxNDMwOTM5MTY5NTA0MzYyNDk2In0.goqohf4RgkGd9FqVu3Mz0aBAyCcPj-lR24bmFPiH_judqM8WCDdre8KQRlCQOZrWL91xJGyvy586vO6iPbDmp4P5M76wTe2lXekPtjfhSGUAQRX22TgfPyE6NXNxJEePS_Km4rZuFWSPNuUTewuJvfbCVv__3BP7zThiqIFypnVlaO0TJhe0Ra3LrUVyjQXHPyMQipJ-NK53aDUOx4yp6Gd9Ywbclpdqv3455sLS7p-NGnxxy8nhei4sq2GoAZBg3nP8JlEwPq81IOyUIw-y1RrpXK-qIBcCSKCh-aulYOIFSy1-al4WHGQ_boscjhgZ3NFLmWTjGXsd170-PrZhcw" # 清空旧日志 > "$OUTPUT_FILE" # 测试单次上传响应时间 echo "===== 单次上传测试 =====" | tee -a "$OUTPUT_FILE" echo "模拟单个用户上传文件..." | tee -a "$OUTPUT_FILE" start_time=$(date +%s%3N) # 毫秒级时间戳 uuid=$(cat /proc/sys/kernel/random/uuid) TEST_FILE=${TEST_DIR}/$uuid.txt echo $uuid > $TEST_FILE curl -v -XPOST -H "User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/122.0.6261.95 Safari/537.36" -H "Referer: http://192.168.3.230:9091/home.html" -H "Origin: http://192.168.3.230:9091" -H "Host: 192.168.3.230:15100" -H "Accept: application/json, text/plain, */*" -H "Accept-Encoding: gzip, deflate" -H "Accept-Language: zh-CN,zh;q=0.9" -H "Content-Type: multipart/form-data" -H "X-Authorization-Access-Token: ${tk}" -H "X-Authorization-System-Alias: ibps" -H "X-Authorization-Systemid: 266946423468851203" -F "typeId=1430943430086754304" -F "file=@$TEST_FILE" "$SERVER_URL" # > /dev/null 2>&1 end_time=$(date +%s%3N) response_time=$((end_time - start_time)) echo "响应时间: ${response_time}ms" | tee -a "$OUTPUT_FILE" # 并发上传测试(负载测试) echo "===== 并发上传测试 ($CONCURRENT_USERS 并发用户) =====" | tee -a "$OUTPUT_FILE" echo "开始负载测试(模拟多用户)..." | tee -a "$OUTPUT_FILE" for ((i=1; i<=UPLOAD_COUNT; i++)); do ( start_time=$(date +%s%3N) uuid=$(cat /proc/sys/kernel/random/uuid) TEST_FILE=${TEST_DIR}/$uuid.txt echo $uuid > $TEST_FILE curl -XPOST -H "User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/122.0.6261.95 Safari/537.36" -H "Referer: http://192.168.3.230:9091/home.html" -H "Origin: http://192.168.3.230:9091" -H "Host: 192.168.3.230:15100" -H "Accept: application/json, text/plain, */*" -H "Accept-Encoding: gzip, deflate" -H "Accept-Language: zh-CN,zh;q=0.9" -H "Content-Type: multipart/form-data" -H "X-Authorization-Access-Token: ${tk}" -H "X-Authorization-System-Alias: ibps" -H "X-Authorization-Systemid: 266946423468851203" -F "typeId=1430943430086754304" -F "file=@$TEST_FILE" "$SERVER_URL" > /dev/null 2>&1 end_time=$(date +%s%3N) echo "上传 $i: 响应时间 $((end_time - start_time))ms" >> "$OUTPUT_FILE" ) & # 控制并发数 if (( i % CONCURRENT_USERS == 0 )); then wait # 等待当前批次完成 fi done wait # 确保所有并发请求完成 # 计算平均响应时间和吞吐量 total_time=0 count=0 while read -r line; do if [[ $line == *"响应时间"* ]]; then time_val=$(echo "$line" | awk '{print $NF}' | tr -d 'ms') total_time=$((total_time + time_val)) count=$((count + 1)) fi done < "$OUTPUT_FILE" # 计算指标(吞吐量 = 请求总数 / 总耗时秒数) if [ $count -gt 0 ]; then avg_time=$((total_time / count)) total_seconds=$(awk "BEGIN {print $total_time / 1000}") # 毫秒转秒 throughput=$(awk "BEGIN {print $count / $total_seconds}") echo "===== 性能指标汇总 =====" | tee -a "$OUTPUT_FILE" echo "平均响应时间: ${avg_time}ms" | tee -a "$OUTPUT_FILE" echo "吞吐量: ${throughput} 请求/秒" | tee -a "$OUTPUT_FILE" else echo "无有效数据计算指标" | tee -a "$OUTPUT_FILE" fi echo "测试完成!结果已保存到 $OUTPUT_FILE" 出现 30: Syntax error: Bad for loop variable
最新发布
10-24
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值