我一直在处理将在启动时运行的脚本,但我遇到了问题。该脚本旨在减慢鼠标加速度,因为我使用的是游戏鼠标并且它总是太快。
当我使用xinput --list时,我得到了这个输出(在许多其他行中):
SteelSeries Sensei Raw Gaming Mouse id = 10 [slave pointer(2)]
当我打开终端并运行此命令时,一切正常,我的灵敏度发生了变化:
xinput --set-prop 10 "Device Accel Constant Deceleration" 2
但是,当我将上面的字符串放在带有' eval'的shell.sh中时在开始时,它会提示我以下错误:
属性'设备'不存在,你需要指定它的类型和 格式
我做错了什么?
答案 0 :(得分:3)
您不需要eval
;完全按照脚本中的终端使用命令。
问题是eval
基本上重新分析了它收到的字符串,这是通过将参数参数与空格连接而产生的。您的eval
命令等同于
xinput --set-prop 10 Device Accel Constant Deceleration 2
如果您引用整个字符串,可以使用eval
:
eval 'xinput --set-prop 10 "Device Accel Constant Deceleration" 2'
但没有理由这样做;只需使用
xinput --set-prop 10 "Device Accel Constant Deceleration" 2
答案 1 :(得分:1)
如其他帖子所述,您不需要使用eval。我还会添加其他内容:您应该使用设备的名称而不是ID号,因为如果您向计算机添加内容,ID号可能会更改(或者出于其他更为模糊的原因)。我会推荐这个:
xinput --set-prop "SteelSeries Sensei Raw Gaming Mouse" "Device Accel Constant Deceleration" 2