gnome-terminal命令可以从命令行运行,但不能从Cinnamon快捷方式(或脚本)

时间:2015-08-21 14:10:55

标签: linux bash gnome-terminal

我正在使用Linux Mint 17和Google Chrome。

我经常在出门前检查天气;为此我冲浪到http://www.mwis.org.uk/scottish-forecast/EH/然后我必须点击PDF文档才能看到isobar天气图。

我想缩短这个过程,以便用简单的键盘快捷键显示当前的PDF;我已经为此任务分配了Windows键+ F8。但是,它无法使用gnome-terminal。

我的gnome-terminal语法出了问题,经过一定程度的谷歌搜索,我不确定它是什么。

因此,以下内容不起作用,作为快捷方式,或从脚本调用时。

gnome-terminal -x bash -c myvar=$(curl http://www.mwis.org.uk/scottish-forecast/EH | grep EH-MWI | grep -o -P '(?<=forecasts/).*(?=" target)'); google-chrome http://www.mwis.org.uk/pdf/weather-forecasts/$myvar

..但直接放在命令行中它确实有效。

(我在

命令行开始
myvar=$(curl http://www.mwis.org.uk/scottish-forecast/EH | grep EH-MWI | grep -o -P '(?<=forecasts/).*(?=" target)')
google-chrome http://www.mwis.org.uk/pdf/weather-forecasts/$myvar

完全符合预期。)

有人可以为Cinnamon建议正确的快捷方式gnome-terminal命令吗?

1 个答案:

答案 0 :(得分:0)

bash -c的参数需要是单引号字符串(“单一”,如“单位”,不一定特别在单引号内)。

bash -c 'google-chrome http://www.mwis.org.uk/pdf/weather-forecasts/"$(curl http://www.mwis.org.uk/scottish-forecast/EH | grep EH-MWI | grep -o -P "(?<=forecasts/).*(?=\" target)")"'

我不得不将一些单引号更改为double,因为整个引用的参数显然不能包含单引号(尽管你可以将它改为双引号,或者单独反斜杠 - 转义每个shell元字符)。

我也考虑了变量。