对于Ruby,使用2个空格是最好的。 对于Python,使用4个空格是最好的。
但对于ssh配置文件,最好有多少个空格?
答案 0 :(得分:4)
配置文件(适用于\
或其他程序)不需要缩进。
它们包含ssh
类型的行
有些程序允许等号周围的空格,其他程序更严格,不接受它们。
name=value
接受等号周围的空格但忽略它们。使用你喜欢的人数但不要滥用它们并让文件可读。
来自documentation的小片段:
该文件包含关键字 - 参数对,每行一个。以
ssh
开头的行和空行被解释为注释。可以选择将参数括在双引号(#
)中,以表示包含空格的参数。配置选项可以用空格或可选空格分隔,只有一个"
;后一种格式有助于避免在使用=
,ssh
和scp
选项指定配置选项时引用空格的必要性。
答案 1 :(得分:4)
我发现上面接受的答案有些混乱,所以我想我会提供一些其他信息。
对于最初的问题,ssh配置文件允许但不要求空格缩进(制表符或空格)。空行和以井号#开头的行将被忽略。
配置文件由节组成,每个节以保留字Host
或Match
开头,后跟一个选项列表,直到节在下一个Host
,{{1} }或文件末尾。
可以将选项指定为Match
或 name value
。从OpenSSH release notes看,开发人员似乎使用name=value
格式。前导空格被忽略。未引用的行内空格也将被忽略
以下内容(带和不带等于和空格的混合)是等效的
name=value
请注意,解析选项时等号很重要。带有嵌入式等号的值需要加引号。这个人为的例子演示了没有引号的情况。
Host test1
Hostname = 192.168.0.100
Host test1
Hostname 192.168.0.100
Host=test1
Hostname 192.168.0.100
将在Host test1
Hostname = 192.168.0.100
UserKnownHostsFile /tmp/name_with=equals /tmp/name2
和/tmp/name_with
中寻找已知的主机,但不在/tmp/name2
中寻找。