我试图发出一个由于格式限制而需要换行的命令。
我需要将文件提交到CVS存储库,但存储库有一个限制,要求以下列格式包含消息。
Change #: <number>
Description: <description>
用于提交文件的命令是:
cvs commit -m "Change #: <number>\nDescription: <description>" <filename>
然而,当我发出命令时,它似乎没有正确识别换行符,但它没有说我给它一个无效的Change#而没有描述。
如果不尝试发出两个单独的命令,如何识别新行?
答案 0 :(得分:1)
以这种格式试用powershell:
start-process -FilePath cvs.exe -ArgumentList "commit -m `"Change #:123 `nDescription:my description`""
答案 1 :(得分:0)
我实际上是尝试从Perl脚本调用此命令,并找到了可接受的解决方法。出于某种原因,将命令调用为require 'pg'
conn = PG::Connection.open(:dbname => 'test')
res = conn.exec_params('SELECT $1 AS a, $2 AS b, $3 AS c', [1, 2, nil])
命令似乎失败了,但是如果你使用反引号调用它就可以正常工作。
system
有趣的是处理中的这种差异&#34; \ n&#34;在使用# Fails
system 'cvs commit -m "Change #: <number>\nDescription: <description>" <filename>'
# Works
my $output = `cvs commit -m "Change #: <number>\nDescription: <description>" <filename>`
命令和反引号之间似乎没有记录在任何地方。