通过键盘快捷键运行 shell 脚本

通过键盘快捷键运行 shell 脚本

我想按一下按钮来运行 shell 脚本。如果我像平常一样运行脚本,它就会正常sh script.sh工作: 。但是给它分配快捷方式不起作用。

快捷菜单截图

您将如何在 Xubuntu 14.10 中执行此操作?

答案1

我确信问题出在~。这是 shell(命令行 shell)功能,键盘快捷键由图形 shell 处理。我认为~$HOME不会在那里正确展开。因此,不要~/path/to/script使用 ,而是使用

/home/username/Documents/Various/SyncStuff.sh

这假设您已使脚本可执行。如果没有,请使用

sh /home/username/Documents/Various/SyncStuff.sh

应该sh足够了,因为$PATH据我所知,图形 shell 也可以读取。如果这也失败了,请尝试使用完整路径,但我怀疑这是否有必要:

/bin/sh /home/username/Documents/Various/SyncStuff.sh

答案2

很棒的帖子。我一直在寻找一种方法来为最新的几个版本的 ubuntu(目前是 19.04)做到这一点

使用完整路径就可以了。谢谢。对我有用的是以下内容...

我正在寻找一种方法来设置热键以将日期/时间插入到我打开的任何文档中。

我在网上找到了一个脚本,并做了一些小改动(主要是热键关联,因为我不喜欢他们的选择,因为它是 ubuntu 已经使用的键组合),变成了我想要的并且可用。

在我的根目录中创建了一个名为“insertTimestamp.sh”的文件。

然后我根据自己的喜好粘贴(并稍微修改)了代码......

复制/粘贴以下代码

# ! /bin/sh
xdotool keyup "super+t"; # needed to refresh the status of the request.  simulates letting go of the hotkey super+t keys, otherwise it interferes with ctrl-v paste function
date '+%Y-%m-%d %H:%M:%S' | tr -d "\n" | xsel -i -b; # add the date/time to the clipboard
xdotool key "ctrl+v"; #simulate a ctrl-v
# xdotool keydown "super"; #unpretend the user let go of the super key

将上述内容粘贴到文件中并保存后,需要更改文件的权限

chmod u+x ~/insertTimestamp.sh

完成后,您只需搜索“键盘”=> 选择键盘=> 转到应用程序快捷方式选项卡=> 添加=> 对于“命令”类型sh the/full/path/insertTimestamp.sh(更新您的完整路径)=> 将键设置为 super+t。

我希望这能提供一个如何设置的良好示例。

在此处输入图片描述

相关内容