如何从ruby获得交互式程序的进展?
发布时间:2020-12-17 02:27:43 所属栏目:百科 来源:网络整理
导读:我正在尝试使用–progress参数创建一个调用rsync脚本的mac ruby应用程序,但rsync显示其进度的方式是更改相同的行,而不是向其输出添加新行,所以我如何获取此数据? 解决方法 Rsync允许您使用–log-format选项更改正在显示的信息的格式: --log-format=FORMAT
我正在尝试使用–progress参数创建一个调用rsync脚本的mac
ruby应用程序,但rsync显示其进度的方式是更改相同的行,而不是向其输出添加新行,所以我如何获取此数据?
解决方法
Rsync允许您使用–log-format选项更改正在显示的信息的格式:
--log-format=FORMAT This allows you to specify exactly what the rsync client outputs to the user on a per-file basis. The format is a text string containing embedded single-character escape sequences prefixed with a percent (%) character. For a list of the possible escape characters,see the "log format" set- ting in the rsyncd.conf manpage. (Note that this option does not affect what a daemon logs to its logfile.) Specifying this option will mention each file,dir,etc. that gets updated in a significant way (a transferred file,a recreated symlink/device,or a touched directory) unless the itemize-changes escape (%i) is included in the string,in which case the logging of names increases to mention any item that is changed in any way (as long as the receiving side is at least 2.6.4). See the --itemize-changes option for a description of the output of "%i". The --verbose option implies a format of "%n%L",but you can use --log-format without --verbose if you like,or you can override the format of its per-file output using this option. Rsync will output the log-format string prior to a file's transfer unless one of the transfer-statistic escapes is requested,in which case the logging is done at the end of the file's transfer. When this late logging is in effect and --progress is also specified,rsync will also output the name of the file being transferred prior to its progress information (followed,of course,by the log-format output). 您应该能够将其配置为更有用的东西. 此外,如果您使用了popen3,您应该能够捕获转移的百分比数字,并使用它来创建自己的进度条. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |