Nel mio file ~/.bash_profile
ho messo questo comando alias
:R: Comando Alias chiamato con il sistema()
which mvsync
alias mvsync='rsync --remove-source-files -arvuP'
/usr/bin/rsync
Funziona benissimo dalla shell bash, ma quando io lo chiamo dall'interno R con system
ottengo un comando non trovato:
R
system('mvsync --help')
sh: mvsync: command not found
## Or
system('mvsync --help', intern=TRUE)
sh: mvsync: command not found
Error in system("mvsync --help", intern = TRUE) :
error in running command
## Or
system("bash -i -c mvsync")
bash: mvsync: command not found
[4]+ Stopped R
Altre variabili ambientali in bash_profile sono correttamente riconosciuti da R/system(). Qualche idea su come/se può essere riparato?
Si tratta di informazioni di sessione R:
sessionInfo()
R version 3.1.3 (2015-03-09)
Platform: x86_64-redhat-linux-gnu (64-bit)
Running under: CentOS release 6.6 (Final)
locale:
[1] LC_CTYPE=en_US.UTF-8 LC_NUMERIC=C LC_TIME=en_US.UTF-8 LC_COLLATE=en_US.UTF-8 LC_MONETARY=en_US.UTF-8 LC_MESSAGES=en_US.UTF-8 LC_PAPER=en_US.UTF-8 LC_NAME=C LC_ADDRESS=C LC_TELEPHONE=C
[11] LC_MEASUREMENT=en_US.UTF-8 LC_IDENTIFICATION=C
attached base packages:
[1] graphics grDevices utils datasets stats methods base
other attached packages:
[1] ggplot2_1.0.0 data.table_1.9.4
loaded via a namespace (and not attached):
[1] chron_2.3-45 colorspace_1.2-4 digest_0.6.8 grid_3.1.3 gtable_0.1.2 MASS_7.3-39 munsell_0.4.2 plyr_1.8.1 proto_0.3-10 Rcpp_0.11.3 reshape2_1.4 scales_0.2.4 stringr_0.6.2
Hai provato ad aggiungere 'system ('mvsync --help', intern = TRUE)' – pacomet
@pacomet Nessuna fortuna ho paura (vedi post modificato), ma grazie. – dariober
Un alias è un bash-ism, non un shell-ism (suona contraddittorio, lo so). Prova 'system (" bash -i -c mvsync ")' (il '-i' è importante per ottenere bash per accedere a funzioni come alias). – r2evans