Вы могли бы хотеть добавить следующее к своему .bash_profile (или эквивалентный), который запускает ssh-агент на входе в систему.
if [ -f ~/.agent.env ] ; then
. ~/.agent.env > /dev/null
if ! kill -0 $SSH_AGENT_PID > /dev/null 2>&1; then
echo "Stale agent file found. Spawning new agent… "
eval `ssh-agent | tee ~/.agent.env`
ssh-add
fi
else
echo "Starting ssh-agent"
eval `ssh-agent | tee ~/.agent.env`
ssh-add
fi
На некоторых дистрибутивах Linux (Ubuntu, Debian) можно использовать:
ssh-copy-id -i ~/.ssh/id_dsa.pub username@host
Это скопирует сгенерированный идентификатор в удаленную машину и добавит его к удаленной цепочке для ключей.
Используя xslt из исходного вопроса,
должно помочь.
Непонятно, что вы собираетесь получить в результате и чего вы ожидаете от xsl: strip-whitespace
в первую очередь. Но следует отметить, что он удаляет не все пробелов, а только то, что считается несущественным по «обычным» правилам. В частности, из спецификации XSLT 1.0:
Текстовый узел никогда не удаляется, если он не содержит только пробельные символы.
Так, например, этот:
<foo>
<bar> </bar>
</foo>
будет сокращен до:
<foo><bar/></foo>
, потому что в нем было 3 текстовых узла, содержащих только пробелы (после
и до
, между
и
, и после
и до
).
Обратите также внимание на то, что поскольку у вас
Добавляем это как второй ответ, потому что объяснение в первом (надеюсь) достаточно информативно, чтобы сохранить его.
Предполагая, что под «обрезкой» вы подразумеваете «удалить все пробелы» сразу после открытия и перед закрытием тегов ", следующие дополнительные правила шаблона должны помочь:
<xsl:variable name="whitespace"> 	
</xsl:variable>
<!-- Trim all whitespace at beginning of string -->
<xsl:template name="trim-start">
<xsl:param name="text"/>
<xsl:variable name="first-char" select="substring($text, 1, 1)" />
<xsl:choose>
<xsl:when test="contains($whitespace, $first-char)">
<xsl:call-template name="trim-start">
<xsl:with-param name="text" select="substring($text, 2)" />
</xsl:call-template>
</xsl:when>
<xsl:otherwise>
<xsl:value-of select="$text" />
</xsl:otherwise>
</xsl:choose>
</xsl:template>
<!-- Trim all whitespace at end of string -->
<xsl:template name="trim-end">
<xsl:param name="text"/>
<xsl:variable name="last-char" select="substring($text, string-length($text), 1)" />
<xsl:choose>
<xsl:when test="contains($whitespace, $last-char)">
<xsl:call-template name="trim-end">
<xsl:with-param name="text" select="substring($text, 1, string-length($text) - 1)" /> </xsl:call-template>
</xsl:call-template>
</xsl:when>
<xsl:otherwise>
<xsl:value-of select="$text" />
</xsl:otherwise>
</xsl:choose>
</xsl:template>
<xsl:template match="text()">
<xsl:call-template name="trim-start">
<xsl:with-param name="text">
<xsl:call-template name="trim-end">
<xsl:with-param name="text" select=".">
</xsl:call-template>
<xsl:param>
</xsl:call-template>
</xsl:template>