我试图了解该set
命令在 fish shell 上是如何工作的。
例如,要删除问候消息,鱼手册建议:
要清空文本,使用默认的问候语功能:
set -U fish_greeting
或者
set -g fish_greeting
在 config.fish 中。
但为什么建议使用set -g fish_greeting
inconfig.fish
而不是 just set fish_greeting
?这里的实际目的是什么-g
?
我试图了解该set
命令在 fish shell 上是如何工作的。
例如,要删除问候消息,鱼手册建议:
要清空文本,使用默认的问候语功能:
set -U fish_greeting
或者
set -g fish_greeting
在 config.fish 中。
但为什么建议使用set -g fish_greeting
inconfig.fish
而不是 just set fish_greeting
?这里的实际目的是什么-g
?
如果变量已经存在,
set
则不加“-g”将会更新它。即如果您有一个名为“fish_greeting”的局部变量,那么
set fish_greeting
将会改变该局部变量。如果您有一个名为“fish_greeting”的通用变量,
set fish_greeting
则将更新该变量。通用变量由 fish 永久存储在文件中,因此执行此操作将更新文件并在其他正在运行的 fish 会话中更改它。通过添加“-g”(“--global”的缩写),您可以确保它只修改全局变量(并且仅在当前 fish shell 调用中隐藏通用变量(如果有的话),并在必要时创建它。