dar*_*ber 7 bash r .bash-profile
在我的~/.bash_profile文件中,我把这个alias命令:
which mvsync
alias mvsync='rsync --remove-source-files -arvuP'
/usr/bin/rsync
Run Code Online (Sandbox Code Playgroud)
它可以从bash shell中正常工作,但是当我从R中调用它时,system我得到一个未找到的命令:
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
Run Code Online (Sandbox Code Playgroud)
R/system()可以正确识别bash_profile中的其他环境变量.知道如何/如果它可以修复?
这是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
Run Code Online (Sandbox Code Playgroud)
您的 shell 可能不是登录 shell:http://linux.die.net/man/1/bash
当 bash 作为交互式登录 shell 或带有 --login 选项的非交互式 shell 被调用时,它首先从文件 /etc/profile 中读取并执行命令(如果该文件存在)。读取该文件后,它会按顺序查找 ~/.bash_profile、~/.bash_login 和 ~/.profile,并从第一个存在且可读的文件中读取并执行命令。启动 shell 时可以使用 --noprofile 选项来禁止此行为。
--login 可能有效,但最好将您的别名放入 .bashrc 中,即使它不是登录 shell,该别名也会被执行
| 归档时间: |
|
| 查看次数: |
1330 次 |
| 最近记录: |