前の質問に答えて、sed、rsync、sshなどを呼び出すためのRのsystem()の代替:関数は存在しますか、自分で書く必要がありますか、それとも要点を見逃していますか?、ハドリーの 答えは、同様の問題に直面したとき、彼は次のような関数を使用したことを示していました。
bash <- function() system("bash")
私は彼の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"))
}
この点がわかりません。私が発行するとき
bash <- function() system("bash")
それは私をbashシェルに送り、その後exit
私をRセッションに戻しますが、機能はありませんbash
。次のコマンドペア(Rの最初のコマンド、bashの2番目のコマンド)のいずれかを発行することで、同じ効果を得ることができるようです。
system('bash')
exit
また
q('yes')
R
打たれた部分は私の部分のコピー/貼り付けエラーが原因でした
bash
また、devtoolsパッケージで関数のそれ以上の使用法を見つけることができません
bash
誰かが関数の使い方を理解するのを手伝ってくれませんか。インタラクティブRモード以外のコンテキスト(スクリプトや関数内など)で使用できますか?