devtools包中的bash有什么作用?

Dav*_*uer 1 bash r devtools

在回答前一个问题时,R中用于调用sed,rsync,ssh等的system()的替代方法:是否存在函数,我应该编写自己的函数,还是我忽略了这一点?,hadley的 回答表明,当遇到类似问题时,他使用了以下功能:

bash <- function() system("bash")
Run Code Online (Sandbox Code Playgroud)

我在他的devtools包中找到了原件; 在devtools/R/bash.R中实现:

#' Open bash shell in package directory.
#'
#' @param pkg package description, can be path or package name.  See
#'   \code{\link{as.package}} for more information
#' @export
bash <- function(pkg = NULL) {
  pkg <- as.package(pkg)

  in_dir(pkg$path, system("bash"))
}
Run Code Online (Sandbox Code Playgroud)

我不明白这一点.当我发出

bash <- function() system("bash")
Run Code Online (Sandbox Code Playgroud)

它将我发送到bash shell,之后exit返回R会话,但没有任何bash功能.似乎我可以通过发出以下命令对之一来获得相同的效果(R中的第一个命令,bash中的第二个命令)

system('bash')
exit
Run Code Online (Sandbox Code Playgroud)

要么

q('yes')
R
Run Code Online (Sandbox Code Playgroud)

被攻击的部分是由于我的复制/粘贴错误

我也在bashdevtools包中找不到该函数的任何进一步用法

有人可以帮我理解如何使用这个bash功能; 是否可以在交互式R模式之外的上下文中使用(例如在脚本或函数内)?

And*_*rie 7

早期版本devtools包括一些推送/拉取代码到git/github的功能.这已被弃用.

相反,便捷功能bash只是在包目录中打开一个bash编辑器.这意味着您可以使用命令行工具与git/github进行交互.

目的bash只是保存一些按键来打开包目录中的命令行.它没有其他功能.