我怎样才能修复这个 bash 问题?

我怎样才能修复这个 bash 问题?

我正在尝试将 xinput 设置为在启动时运行以切换一些鼠标按钮功能。但问题是它显然不起作用。

我想从这里开始:

xinput set-button-map 8 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16

或者

xinput set-button-map "Logitech USB-PS/2 Optical Mouse" 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16

更改为:

xinput set-button-map 8 1 2 3 4 5 2 2 2 2 2 2 2 2 2 2 2

或者

xinput set-button-map "Logitech USB-PS/2 Optical Mouse" 1 2 3 4 5 2 2 2 2 2 2 2 2 2 2 2

我在文本文件中写道:

#!/bin/bash -e
$xinput set-button-map "Logitech USB-PS/2 Optical Mouse" 1 2 3 4 5 2 2 2 2 2 2 2 2 2 2 2

如果我直接运行该 xinput 命令,即使我使用 ID 而不是名称,它也能正常工作。但如果我运行该文件,它会告诉我“set-button-map:未找到命令”。

我究竟做错了什么?

答案1

使用

xinput set-button-map "Logitech USB-PS/2 Optical Mouse" 1 2 3 4 5 2 2 2 2 2 2 2 2 2 2 2

代替

$xinput set-button-map "Logitech USB-PS/2 Optical Mouse" 1 2 3 4 5 2 2 2 2 2 2 2 2 2 2 2

$xinput 你尝试使用一个xinput不存在的环境变量时,它就会被忽略。因此,Bash 实际上会尝试运行

set-button-map "Logitech USB-PS/2 Optical Mouse" 1 2 3 4 5 2 2 2 2 2 2 2 2 2 2

由于该命令set-button-map不存在,因此您会收到错误。

相关内容