![是否可以在 shell 函数名称中使用特殊字符?](https://linux22.com/image/5780/%E6%98%AF%E5%90%A6%E5%8F%AF%E4%BB%A5%E5%9C%A8%20shell%20%E5%87%BD%E6%95%B0%E5%90%8D%E7%A7%B0%E4%B8%AD%E4%BD%BF%E7%94%A8%E7%89%B9%E6%AE%8A%E5%AD%97%E7%AC%A6%EF%BC%9F.png)
我必须在 shell 脚本中创建函数,该函数名称必须包含特殊字符。喜欢
>()
{
echo $1 $2
}
这里我的函数名称是>
,如果可能的话我该如何给出,就像上面我尝试过的但它会通过错误
答案1
大多数 shell 限制函数名称仅包含不需要引号的字符,其中不包括>
.
即使在少数允许作为函数名称的 shell 中>
(我只知道 zsh),定义一个名为 called 的函数>
也只有在作为命令调用时才有效>
(这需要引用它,即运行\>
or ">"
or '>'
)。它不会改变重定向的工作方式。
常用的 shell 都无法配置脚本的后续部分执行重定向时会发生什么情况。如果您需要这类东西,shell 几乎不是一种足够灵活的语言。但可能有更好的方法来解决无论你想解决什么问题——并且很可能可以在 shell 脚本中解决这个问题。