我一直在玩exec,虽然它打开了一个终端,用户就是我,它似乎无法执行命令我给它= /代码如下:
try{
Runtime rt = Runtime.getRuntime();
Process proc = rt.exec("xterm -e \"source /home/USER/.bashrc; ~/./myscript.sh\"")
}
catch(Throwable t)
t.printStackTrace();
在xterm控制台中,我得到:
xterm: Can't execvp ": No such file or directory
user@user:$
这是一个等待使用的终端,在我按下它之前不会消失。
不确定这里发生了什么?...
感谢。
答案 0 :(得分:0)
我认为你不能将shell内容传递给xterm的-e
选项。它需要该程序的程序和可选参数。 source
是内置的shell。
你可以尝试做的事情就是调用你的myscript.sh
并修改它,以便它将你的bashrc放在顶部。或者创建一个新的bash脚本来源你的rc文件,然后运行myscript.sh
。