在i3窗口管理器中通过快捷键触发调用R的bash脚本时R部分不执行,但终端直接运行脚本正常的问题求助
在i3窗口管理器中通过快捷键触发调用R的bash脚本时R部分不执行,但终端直接运行脚本正常的问题求助
我最近碰到了一个百思不得其解的问题,想求助各位帮忙分析下:
我写了一个调用R的bash脚本,还在i3的配置文件里给它绑定了快捷键,配置代码如下:
bindsym $mod+q exec --no-startup-id test-r-not-working-from-within.sh
这个脚本的逻辑很直观:如果R会话成功执行,会在/tmp/目录下生成一个后缀为.testR的文件,同时还会生成/tmp/test.testshell文件。现在的状况是,用快捷键触发脚本时,/tmp/test.testshell确实生成了,说明脚本本身在运行,但里面的R代码部分完全没执行。可要是我直接在终端里运行这个脚本,R代码就能正常跑起来,两个文件都会生成。
以下是我的脚本完整内容:
#!/bin/bash tmp1=$(mktemp) echo ' library(data.table) # troubleshoot tmp1 <- tempfile(tmpdir="/tmp", fileext=".testR") fileConn<-file(tmp1) writeLines("test this is a test", fileConn) close(fileConn) ' >> $tmp1 # none of these two ways of doing it works when called from i3 R < $tmp1 --vanilla Rscript $tmp1 --vanilla echo 'test.testshell' > /tmp/test.testshell notify-send "test-r-not-working-from-within.sh"
我一开始怀疑是$PATH的问题,在终端里执行which R得到的结果是/usr/bin/R,按理说这个路径应该在系统PATH里。我甚至手动在.bashrc里把它加到PATH里,结果还是没用:
export PATH="/usr/bin/R:~/.npm-global/bin:/usr/local/stata17:$HOME/.yarn/bin:$HOME/.cargo/bin:/home/emil/bin:/home/emil/.local/bin:$PATH"
我实在找不到问题所在了,有没有大佬能给点思路?我用的是完全更新过的Manjaro Linux系统。
备注:内容来源于stack exchange,提问作者emilBeBri
相关产品推荐
相关产品推荐

