如何在python中编写一个脚本,可以打开一个新的linux终端并自动执行源代码

时间:2017-03-02 09:04:41

标签: linux bash gnome-shell

我需要在python(或bash)中编写一个scirpt:

  • 打开一个带有几个标签的新Linux终端
  • 在每个标签
  • 上执行'source myfile.csh'命令

我尝试过这样的事情:

 os.system("gnome-terminal --tab --working-directory=/repo/ -e 'source myfile.csh' ")

但它不起作用(例如,即使我在正确的目录中也找不到文件,或者无法打开.csh文件,等等等等)

我也尝试过其他一些选择,但我没有找到适合自己问题的灵魂。

我不知道为什么我不能做一个简单的“打开一个新终端,写一个命令并执行它”

也许有没有安装任何新软件的简单解决方案(我没有root)?

1 个答案:

答案 0 :(得分:2)

@lrsconfig = Lrsconfig.find(1) @auth = { username: @lrsconfig.lrsusername, password: @lrsconfig.lrspassword } @header = { 'Content-Type' => 'application/json', 'X-Experience-API-Version' => @lrsconfig.XAPIversion } @xapi = { "actor": { "mbox": "mailto:Karl@example.com", "name": "Karl" }, "verb": { "id": "http://adlnet.gov/expapi/verbs/answered", "display": { "en-US": "answered" } }, "object": { "id": "http://adlnet.gov/expapi/activities/example", "definition": { "name": { "en-US": "Karl Activity" }, "description": { "en-US": "Karl activity description" } } } } # Make and send an xAPI call response = HTTParty.post(@lrsconfig.lrsendpoint, basic_auth: @auth, headers: @header, query: @xapi, #body: @xapi, debug_output: $stdout ) 将执行一个过程。但是-e是shell的指令。您需要做的是使用source调用shell并将参数传递给shell以执行-e指令。应该像

source