大小写转换
最近的版本 打坏 支持字符串的大写/小写转换。 打坏
有四个参数扩展和两个选项 宣布 命令来支持它。
那么大小写转换有什么好处呢? 除了明显的审美价值外,它在编程中也扮演着重要的角色。 让我们考虑一下数据库查找的情况。 想象一下,用户在我们想要在数据库中查找的数据输入字段中输入了一个字符串。 用户可能会以全部大写字母或小写字母或两者的组合输入值。 我们当然不想用大写和小写拼写的所有可能排列来填充我们的数据库。 该怎么办?
解决这个问题的常用方法是 正常化 用户的输入。 也就是说,转换它
在我们尝试数据库查找之前转换为标准化的形式。 我们可以通过将用户输入中的所有字符转换为小写或大写来实现这一点,并确保以相同的方式规范化数据库条目。
这个 宣布 命令可用于将字符串规范化为大写或小写。 使用 宣布,我们可以强制变量始终包含所需的格式,无论分配给它什么:
#!/斌/庆典
# ul-declare: 通过declare declare -u upper 演示大小写转换
声明 -l 降低
如果 [[ $1 ]]; 然后
upper="$1" lower="$1" echo $upper echo $lower
fi
#!/斌/庆典
# ul-declare: 通过declare declare -u upper 演示大小写转换
声明 -l 降低
如果 [[ $1 ]]; 然后
upper="$1" lower="$1" echo $upper echo $lower
fi
在上面的脚本中,我们使用 宣布 创建两个变量, 上 和 降低. 我们将第一个命令行参数(位置参数 1)的值分配给每个变量,然后将它们显示在屏幕上:
[我@linuxbox ~]$ ul-声明 aBc
美国广播公司
ABC
[我@linuxbox ~]$ ul-声明 aBc
美国广播公司
ABC
正如我们所见,命令行参数(“aBc”)已被规范化。
此外 宣布,有四个参数扩展可以执行大写/小写转换:
表 34-1:大小写转换参数扩展
格式化结果
格式化结果
${参数,,} 扩大价值 参数 全部变成小写。
${参数,} 扩大价值 参数 只改变第一个
字符转小写。
${参数^^} 扩大价值 参数 全部大写。
${参数^} 扩大价值 参数 只改变第一个
字符为大写(大写)。
这是一个演示这些扩展的脚本:
#!/斌/庆典
# ul-param: 通过参数扩展演示大小写转换 if [[ $1 ]]; 然后
回声 ${1,,}
回声 ${1,} 回声 ${1^^} 回声 ${1^}
fi
#!/斌/庆典
# ul-param: 通过参数扩展演示大小写转换 if [[ $1 ]]; 然后
回声 ${1,,}
回声 ${1,} 回声 ${1^^} 回声 ${1^}
fi
这是正在运行的脚本:
[我@linuxbox ~]$ ul-参数 aBc
abc abc ABC
ABC
[我@linuxbox ~]$ ul-参数 aBc
abc abc ABC
ABC
同样,我们处理第一个命令行参数并输出参数扩展支持的四个变体。 虽然此脚本使用第一个位置参数, 参数 可以是任何字符串、变量或字符串表达式。