在 Ubuntu 22.04 上,我在主目录中的自定义文件夹中有一个可执行 (bash) 文件scripts
。后者的路径已正确包含在文件末尾.bashrc
(并且也包含在文件末尾.profile
,以确保万无一失),其中包含以下行export PATH="$PATH:/home/username/scripts"
。该命令在终端 shell 中正确运行,但如果我通过“设置”中正确设置的键盘快捷键调用它,则无法运行。
编辑:两台不同的计算机都出现了同样的问题,这两台计算机最近都全新安装了操作系统,并且安装了不同类型的 bash 可执行文件。
在哪里修改键盘快捷键使用的路径?
答案1
修改键盘快捷键使用的路径并不能解决您的问题。有两种可能性:
选项1。在键盘快捷键的“命令”字段中,指定可执行文件的完整路径,例如/path/to/custom_folder/some_executable
。请注意,您不能使用 bash 扩展 ( ~
) 或变量,因此必须明确说明路径。
选项 2。将可执行文件放在搜索中的目录中PATH
。键入printenv PATH
以查看所有这些目录。更准确地说,如果您是唯一运行该命令的人,则将其放在~/.local/bin
或中~/bin
。如果命令需要对系统上的所有用户可用,请将其放在中/usr/local/bin
。后者假定您在计算机上拥有管理员权限。
如果您不想将可执行文件从其当前位置移动,那么除了有效地将可执行文件移动到这些目录之一中之外,您还可以在那里放置一个符号链接或包装脚本。
答案2
以下是一个简单的示例,以使@vanadium 提到的过程更加清晰:
假设你有一个read_this.sh
bash 文件,可以大声读出你的剪贴板:
txt=$(xclip -selection clipboard -o)
clean_txt=$(tr -d "\"'" <<< "$txt")
echo "(SayText \"$clean_txt\")" | festival '(voice_cmu_us_slt_arctic_hts)' --pipe
复制文件夹中的文件
/bin/
(从文件的文件夹执行此命令):sudo cp read_this.sh /bin/read_this
bash read_this
在设置中的键盘快捷键面板中添加带有命令的快捷方式。