Bonjour,
C'est possible de lancer une commande bash dans un script R ?
Par exemple
script.R
Sur le terminalCode:
1
2 print("commande R") echo "commande bash"
Code:
1
2
3 $ Rscript script.R commande R commande bash
Version imprimable
Bonjour,
C'est possible de lancer une commande bash dans un script R ?
Par exemple
script.R
Sur le terminalCode:
1
2 print("commande R") echo "commande bash"
Code:
1
2
3 $ Rscript script.R commande R commande bash
Bonjour,
Vous pouvez regarder les commandes system() et shell().
Sous Windows :
Cordialement,Code:
1
2 > shell('echo "commande bash"') "commande bash"
bonjour,
J'ai essayé de faire un script.sh qui prend en paramètre une chaine de caractère puis l'affiche, mais il ne prend pas en compte ce que je lui met en paramètre.
script.shCode:
1
2
3
4
5 pathShell <- "C:/Users/user/cmder/vendor/git-for-windows/bin/bash.exe" cmd <- paste0("script.sh", " -a ", "something") shell(cmd = cmd, shell = pathShell)
Code:
1
2
3
4
5
6
7
8
9
10 val="nothing" while getopts 'a:' opt; do case $opt in a) val=$OPTARG ;; esac done echo $val
Bonjour,
Les paramètres positionnels peuvent être appelés à l'aide des expressions $1, $2... ${10}, ${11}.
Pièce jointe 484106
Vous pouvez regarder du côté du logiciel Emacs qui permet d'avoir des documents avec des commandes bash et du code R.
Cordialement,
Bonjour,
Mon script ne me renvoie pas ce que je lui met en paramètre.
script.shCode:
1
2
3
4
5
6 > pathShell <- "C:/Users/user/cmder/vendor/git-for-windows/bin/bash.exe" > cmd <- "./script/script.sh bonjour" > shell(cmd = cmd, shell = pathShell) Le 1er paramètre est :
Quand je passe par git-bash.exe:Code:
1
2
3
4 #!/bin/bash echo "Le 1er paramètre est : $1"
j'obtiens cette erreur:Code:
1
2
3
4 > pathShell <- "C:/Users/user/cmder/vendor/git-for-windows/git-bash.exe" > cmd <- "./script/script.sh bonjour" > shell(cmd = cmd, shell = pathShell)
Pièce jointe 485596
Bonjour,
Apparemment le problème venait d'une mauvaise écriture du chemin, il fallait utiliser les "\\" comme séparateur et pour écrire la commande j'ai utilisé la fonction shQuote()
Merci de votre aide.Code:
1
2
3
4
5 > path <- 'C:\\Users\\user\\cmder\\vendor\\git-for-windows\\bin\\bash.exe' > cmd <- shQuote("echo bonjour", type="sh") > shell(cmd = cmd, shell = path) bonjour