Bash编程:函数使用、通配符与正则表达式及相关参考
1. 避免函数使用时出现 “command not found”
1.1 问题描述
在习惯了像Perl这样的语言后,你可能会期望在代码中先调用函数,再进行函数定义。因为在Perl等语言中,整个脚本会作为一个单元进行解析,允许将main()函数放在顶部,而将函数(或子例程)定义在后面。
1.2 解决方案
Shell脚本是按从上到下的线性方式读取和执行的,因此在使用任何函数之前,必须先对其进行定义。
1.3 原理分析
与Perl等语言不同,Shell脚本会逐行读入内存并执行。这意味着在函数定义之前使用该函数会导致“command not found”错误。
2. 区分Shell通配符和正则表达式
2.1 问题描述
在使用过程中,你可能会对.*、*、[a - z]*等符号的含义感到困惑,并且不清楚在bash的哪些地方使用正则表达式,哪些地方使用Shell通配符。
2.2 解决方案
放松心态,你可能是因为学习内容过多或使用频率过低而忘记了这些规则。多练习有助于掌握它们。在bash中,正则表达式语法仅在=~比较运算符中使用,其他表达式则使用Shell模式匹配。