如何使用`system()`在父shell环境中执行命令

时间:2016-11-14 03:26:54

标签: c

嘿,所以基本上当我在mac终端中运行此代码时:WifiManager wifiManager = (WifiManager) this.getSystemService(Context.WIFI_SERVICE); WifiInfo wifiInfo = wifiManager.getConnectionInfo(); String ssid = wifiInfo.getSSID(); Toast.makeText(this, "Name is " + ssid, Toast.LENGTH_SHORT).show(); String networkid = wifiInfo.getBSSID(); Toast.makeText(this, "Network ID " + networkid, Toast.LENGTH_SHORT).show(); 它将改变提示的颜色。我想在export PS1="\[\033[36m\]\u\[\033[m\]@\[\033[32m\]\h:\[\033[33;1m\]\w\[\033[m\]\$"源代码文件中使用该命令,然后使用相同的 C 代码执行它。

这就是我得到的:

.c

但是当它运行时它什么也没做。您可以注意到,当我将命令复制到文件时,我使用双反斜杠而不是单反斜杠,因为需要将单个反斜杠打印到文件中。

2 个答案:

答案 0 :(得分:3)

执行命令时

export PS1='\\[\\033[36m\\]\\u\\[\\033[m\\]@\\[\\033[32m\\]\\h:\\[\\033[33;1m\\]\\w\\[\\033[m\\]\\$'

使用system,它会更改执行命令的shell中PS1的值。它不会更改运行程序的shell中PS1的值。因此,你没有注意到任何差异。

我认为您无法使用system完成您的尝试。

答案 1 :(得分:0)

PS=...命令放入~/.bashrc,然后任何新shell都会有所需的提示。