![我可以在键盘快捷键中使用 Bash 别名吗?](https://linux22.com/image/1039095/%E6%88%91%E5%8F%AF%E4%BB%A5%E5%9C%A8%E9%94%AE%E7%9B%98%E5%BF%AB%E6%8D%B7%E9%94%AE%E4%B8%AD%E4%BD%BF%E7%94%A8%20Bash%20%E5%88%AB%E5%90%8D%E5%90%97%EF%BC%9F.png)
是否可以在自定义快捷方式中使用别名?
例如,假设我有别名
alias cal="google-chrome --new-window calendar.google.com"
我可以创建一个将++Ctrl绑定到的自定义快捷方式吗?AltCcal
我已尝试过,但似乎不起作用。
答案1
答案2
不,键盘绑定运行的命令不会通过 shell 进行解析。最好的办法是bin
在您的主目录中创建一个目录 ( mkdir -p ~/bin
)。编写一个名为 cal 的脚本来运行您的命令,将其保存~/bin
并使其可执行。
$ mkdir -p ~/bin
$ cat > ~/bin/cal << 'EOF'
#!/bin/sh
exec google-chrome --new-window calendar.google.com
EOF
$ chmod +x ~/bin/cal
如果您的主目录中还没有bin
目录,则需要注销并重新登录,以便将其添加到您的 PATH 中。完成此操作后,绑定键盘绑定以运行“cal”应该可以满足您的要求。
答案3
一个快速的替代方案,希望它能在未来帮助到任何人
将“将图像另存为..”键盘快捷键添加到 Chrome,即 Shift-Ctrl-S
命令:bash -c "xdotool click 3 && sleep 0.5 && xdotool key v;"
另外,如果你有足够的组织能力,将你的快捷方式保存在一个单独的文件中,然后在 ~/.bashrc 的末尾获取它,那么下面的方法就可以起作用并且会很方便 ;)
命令:bash -c ". /tmp/keyboardShortcutsFcns && tefAliasFcn"
上面例子中的“/tmp/keyboardShortcutsFcns”文件的内容:
# test fcn to be called ( maybe ? ) from a keyboard shortcut tefAliasFcn(){ notify-send "tef alias function called succesfully !"; }