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

gnome-terminal command works from command line but not from Cinnamon shortcut (or script)

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

我经常在出门散步前查看天气;为此,我浏览到 http://www.mwis.org.uk/scottish-forecast/EH/,然后必须单击 PDF 文档才能查看等压线天气图。

我想缩短这个过程,以便可以通过简单的键盘快捷键显示当前的 PDF;我已将 windows 键 + F8 分配给此任务。但是,使用 gnome 终端无法正常工作。

我的 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 命令吗?

bash -c 的参数需要是单引号字符串("single" 与 "one unit" 相同,不一定要特别在单引号内)。

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)")"'

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

我也把变量分解出来了