![Bash 可选参数等号 '--stuff=42' 与非 '--stuff 42' 的区别](https://linux22.com/image/1601205/Bash%20%E5%8F%AF%E9%80%89%E5%8F%82%E6%95%B0%E7%AD%89%E5%8F%B7%20'--stuff%3D42'%20%E4%B8%8E%E9%9D%9E%20'--stuff%2042'%20%E7%9A%84%E5%8C%BA%E5%88%AB.png)
我经常看到使用 = 设置可选参数值的命令,有时还会使用空格。它叫什么?
两个命令均能正常工作的示例:
firewall-cmd --permanent --add-service=http
和
firewall-cmd --permanent --add-service http
使用等号与不使用等号有什么区别?
答案1
我不知道这是否有一个正式的名称;我通常称之为--foo=bar
“显式”和--foo bar
“隐式”,因为在后一种情况下,你必须知道它是如何实现的,才能判断它是否意味着“设置字符串选项 foo
'禁止'”或“设置布尔选项 foo
并true
传递争论'酒吧'”。
遵循 Python 中非常明智的说法“显式优于隐式”,我总是更喜欢--foo=bar
。