Logo Mengz's Space ...
  • 中文
    English
  • Dark Theme
    Light Theme Dark Theme System Theme
Logo Inverted Logo
  • Posts
  • Kubernetes
    • K8S健康检查最佳实践
    • 扩展你的KUBECTL功能
    • 轻量级Kubernetes集群-K3S
  • LINUX
    • BUMBLEBEE禁用NVIDIA显卡
    • HOSTNAMECTL管理主机名
    • LINUX上创建不可删除文件
    • LINUX上统计网络接口数据包
    • OPENSUSE上的ZYPPER包管理器
    • OPENSUSE上的定时任务
    • SYSTEMCTL管理系统服务
    • SYSTEMD定时服务
    • 升级OPENSUSE LEAP
    • 在LINUX上配置WIREGUARD
    • 在UBUNTU上删除旧的内核
    • 查看硬件信息
  • Windows
    • Windows10上安装WSL2
    • 加载virtio驱动的Windows10安装镜像
  • 容器技术
    • DOCKER LIVERESTORE特性
    • DOCKER SBOM镜像物料清单
    • DOCKERFILE构建最佳实践
    • DOCKER入门
    • DOCKER构建MariaDB
    • DOCKER构建容器化应用
    • DOCKER运行微信桌面客户端
    • WINDOWS上的DOCKER DESKTOP
    • 开始使用DOCKER COMPOSE V2
    • 最小化静态WEB容器实践
    • 本地环境运行MQTT容器
    • 管理远程DOCKER主机
  • 开发运维
    • GITHUB ACTIONS工作流
    • GITLAB CI自动部署容器应用
    • IaC示例-TERRAFORM&ANSIBLE创建K3S集群
    • TF执行计划可视化
    • TF管理AWS LIGHTSAIL实例
    • 一体化CI/CD平台
    • 解读OPEN GITOPS 1.0
    • 迁移本地项目到TF CLOUD
  • 开源工具
    • DIUN-容器镜像更新通知
    • RCLOUD与云存储同步
    • 文件系统查找工具
  • 编程
    • 改良鸡尾酒排序算法
    • 调试Shell脚本错误
  • Markdown示例
  • 短代码示例
Hero Image
调试Shell脚本错误

今天在写一个 shell 脚本的时候遇到了如下的错误: line 225: unexpected EOF while looking for matching `”‘ line 233: syntax error: unexpected end of file 可是认真查看它提示出错的行时,却发现(")号是配对的。 225行是如下的代码: if [ ${options} = "ALL" ]; then 很明显报错的行数不对,由于前面的代码比较多,一行行看也不容易看错错误。 既然说文件结尾有问题,于是我在文件尾加上一个(")符号,再运行。现在提示给出了正确的错误行号。 原来是前面有这样的代码: echo "${PACKAGENAME" >> ${file} 是变量的引用时少了相应的 (}) 号。 所以,如果以后遇到类似的问题,可以尝试加一些符号来调试,也许会有帮助。

February 13, 2011 Read
Hero Image
改良鸡尾酒排序算法

记得以前学习数据结构和算法时就了解了冒泡排序算法, 前几天的一个面试也被问到了这个问题。于是回来后就又温习了一遍,还了解到了一种冒泡的改良算法,叫做鸡尾酒(cocktail)排序算法,其实现是通过两个循环分别从两端进行冒泡。 通常实现 template< typename T > void cocktail_sort(T array[], int n) { int bottom = 0; int top = n – 1; bool swapped = true; while (swapped) { swapped = false; for ( int i = bottom; i < top; i++ ) { if ( array[i] > array[i+1] ) { swap(array[i], array[i+1]); swapped = true; } } top–; // top is a larger one for ( int i = top; i > bottom; i– ) { if ( array[i] < array[i-1] ) { swap(array[i], array[i-1]); swapped = true; } } bottom++; // bottom is a smaller one } } // end, cocktail_sort 改良实现 我在网上搜索的实现基本上都是上面的实现方法。 我就想为什么不在一个循环中两端一起进行冒泡呢?于是我实现了下面这样的改良的cocktail算法实现,暂且取名为bi_bubble_sort,减少了循环比较的次数:

October 27, 2010 Read
Navigation
  • 关于
  • 技能
  • 工作经历
  • 教育
  • 近期文章
  • 技能学习
  • LiveTerm
Contact me:
  • mengz.you@outlook.com
  • mengzyou
  • You Mengzhe

Toha Theme Logo Toha
© 2024 - Copyright.
Powered by Hugo Logo
ko-fi.com/mengz
ko-fi.com/mengz