魔法名引用

主要观点:namerefs(在 bash 4.0 中引入)可作为其他变量的别名,能引用数组中的特定元素,还可通过辅助数组创建能计算任意表达式的“魔法变量”,如基本计数器和计算斐波那契数的示例,且能使用美元展开,如创建显示当前日期时间的“魔法时钟”。
关键信息:

  • 通过declare -n ref=var创建 nameref,可改变其指向的值,如ref=moo会改变var的值。
  • 引用数组元素可使用declare -n ref='array[1234]'
  • 示例中通过tmp数组创建各种“魔法变量”,如基本计数器x++和斐波那契数列计算。
  • 利用date数组和其他辅助数组创建显示当前日期时间的“魔法时钟”,通过declare -n定义相关 nameref 并在循环中输出。
    重要细节:
  • 在创建“魔法变量”时要注意格式和语法,如在算术上下文中进行赋值和展开。
  • 不同的 nameref 对应不同的数组元素或变量,通过特定的定义和引用方式实现各种功能。
  • 示例中的各种格式和变量名用于实现不同的功能,如\\D{your-format-here}用于传递格式到strftime
阅读 10
0 条评论