Что делает аргумент `input` в функции system () в R? - PullRequest
1 голос
/ 11 февраля 2020

Что делает аргумент input в функции system () в R? Например, в приведенном ниже коде

authentication_test <- "authentication_test aws s3 ls s3://test-bucket/ > /dev/null"

system(authentication_test, input = "q")

Я не понимаю, для чего служит буква q.

Глядя на файл справки, input описывается как

input: if a character vector is supplied, this is copied 
one string per line to a temporary file, and the standard 
input of command is redirected to the file.

но мне все еще трудно понять, что именно он делает.

1 Ответ

3 голосов
/ 11 февраля 2020

input создает временный файл, который используется как STDIN для команды оболочки system.

Например, команда cat:

system("cat", input = "Line1\nLine2")
#Line1
#Line2

В вашем bash shell это будет то же самое, что и

echo -e "File1\nFile2" > file
cat < file
#Line1
#Line2
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...