手册页是这样说的:
Host 将以下声明(直到下一个 Host 关键字)限制为仅适用于与关键字后给出的模式之一匹配的那些主机。如果提供了多个模式,它们应该用空格分隔。单个“*”作为模式可用于为所有主机提供全局默认值。主机是命令行上给出的主机名参数(即名称在匹配之前不会转换为规范化的主机名)。
模式条目可以通过在它前面加上感叹号 (`!') 来否定。如果匹配一个否定条目,则忽略 Host 条目,无论该行上的任何其他模式是否匹配。因此,否定匹配可用于为通配符匹配提供例外。>
有关模式的更多信息,请参阅模式。
HostName 指定要登录的真实主机名。这可用于指定主机的昵称或缩写。如果主机名包含字符序列`%h',那么它将被命令行上指定的主机名替换(这对于操作非限定名称很有用)。默认值是在命令行中给出的名称。也允许使用数字 IP 地址(在命令行和主机名规范中)。
例如,当我想为 GitHub 创建一个 SSH Config 时,Host 和 HostName 分别应该是什么?
所以bash 手册页解释了什么是登录和交互式 shell:
登录 shell 是参数零的第一个字符是 - 或以 --login 选项开头的 shell。
交互式 shell 是一个没有非选项参数并且没有 -c 选项的启动,其标准输入和错误都连接到终端(由 isatty(3) 确定),或者一个以 -i 选项启动。如果 bash 是交互式的,则设置 PS1 并且 $- 包括 i,允许 shell 脚本或启动文件测试此状态。
我认为这意味着我们可以有 4 种不同类型的 shell:
但是为什么我们首先要有交互式/非交互式和登录/非登录 shell?为什么品种多?如果我们只有一种壳,我们会失去什么?
此外,当试图通过运行确定我是否在登录 shell 中时echo $-
,它输出:
himBH
Run Code Online (Sandbox Code Playgroud)
关于这些标志的解释这里,但是h
,H
和m
没有解释。有没有描述所有这些标志的地方?
我使用这个命令来生成一个清晰的 512px 宽版本的 SVG 文件,我有:
convert -geometry 256 pinterest.svg pinterest.png
Run Code Online (Sandbox Code Playgroud)
这是源文件:
<?xml version="1.0" encoding="utf-8"?>
<!-- Generator: Adobe Illustrator 16.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
width="16px" height="16px" viewBox="0 0 16 16" enable-background="new 0 0 16 16" xml:space="preserve">
<path fill="#231F20" d="M8,0C3.582,0,0,3.582,0,8c0,3.275,1.97,6.09,4.789,7.327c-0.022-0.559-0.005-1.229,0.139-1.837
c0.154-0.649,1.029-4.359,1.029-4.359s-0.255-0.51-0.255-1.266c0-1.186,0.687-2.071,1.542-2.071c0.729,0,1.08,0.547,1.08,1.201
c0,0.73-0.467,1.825-0.707,2.838c-0.2,0.85,0.426,1.541,1.262,1.541c1.515,0,2.537-1.947,2.537-4.253
c0-1.753-1.181-3.066-3.329-3.066c-2.427,0-3.938,1.81-3.938,3.831c0,0.697,0.205,1.188,0.528,1.57
C4.824,9.631,4.845,9.7,4.792,9.902c-0.039,0.147-0.126,0.502-0.163,0.643c-0.054,0.202-0.218,0.274-0.401,0.199
C3.11,10.289,2.59,9.064,2.59,7.688c0-2.272,1.916-4.997,5.718-4.997c3.053,0,5.065,2.21,5.065,4.582
c0,3.139-1.746,5.482-4.317,5.482c-0.864,0-1.677-0.467-1.955-0.996c0,0-0.464,1.844-0.562,2.199
c-0.17,0.616-0.502,1.232-0.805,1.713C6.452,15.885,7.213,16,8,16c4.418,0,8-3.582,8-8S12.418,0,8,0z"/>
</svg>
Run Code Online (Sandbox Code Playgroud)
但是它会产生一个模糊的 PNG:
由于我的来源是矢量图,我希望得到清晰的图像。有没有办法这样做?