如何在ZSH中将函数参数作为字符串的一部分使用?
如何在ZSH中实现$1ext这类变量与后缀的直接拼接
在ZSH(以及大部分POSIX兼容的shell)中,$1ext会被shell识别为一个名为1ext的变量,而非$1变量拼接字符串ext,这就是它无法正常解析的核心原因。
要解决这个问题,只需要用**大括号{}**包裹变量名,明确界定变量的边界:
test() { echo "${1}ext"; }
调用test arg时,就能正确输出argext。
这种${变量名}的写法适用于所有需要明确变量范围的场景,只要变量后紧跟的字符属于shell变量名的合法字符(字母、数字、下划线),都可以用这个方式避免歧义。
内容的提问来源于stack exchange,提问作者TimSO
相关产品推荐
相关产品推荐

