有没有办法确定纯函数?

niX*_*man 0 bash

我需要能够定义函数以在函数尝试更改全局变量时接收错误消息.

我能做到吗?

pgl*_*pgl 7

你不能.但是,您可以使用declare -r例如:readonly来创建全局变量:

declare -r cheese='nice'
Run Code Online (Sandbox Code Playgroud)

如果您然后尝试修改$cheese:

cheese='bad'
Run Code Online (Sandbox Code Playgroud)

你会收到一个错误:

bash: cheese: readonly variable
Run Code Online (Sandbox Code Playgroud)

您可以使用它来防止函数更改变量,如果需要使用变量,则强制它们生成本地副本.

  • 而不是`declare -r cheese ='nice'`你也可以使用`readonly` builtin,即`readonly cheese ='nice'`. (2认同)