Является ли `var = value builtin` тем же, что и` var = value; builtin`?

Это помогает мне в аналогичной ситуации под Debian 8.6 и LXDE:

synclient TapButton1=1

Вышеупомянутое работает, если сенсорная панель synaptics работает с драйвером Synaptics xserver-xorg-input-synaptics .

Если вы работаете с драйвером libinput (драйвер по умолчанию во многих живых образах):

xinput set-prop 'SynPS/2 Synaptics TouchPad' 'libinput Tapping Enabled' 1

Вы можете использовать xinput list-props 'SynPS / 2 Synaptics TouchPad' , чтобы увидеть все доступные свойства, которые можно настроить для сенсорной панели.

Если ваша система использует libinput , вы можете использовать xinput , чтобы узнать имя вашего устройства с тачпадом, если указанная выше команда не работает (это не все Synaptics). Например:

Вывод для xinput :

⎡ Virtual core pointer                          id=2    [master pointer  (3)]
⎜   ↳ Virtual core XTEST pointer                id=4    [slave  pointer  (2)]
⎜   ↳ AlpsPS/2 ALPS GlidePoint                  id=11   [slave  pointer  (2)]
⎣ Virtual core keyboard                         id=3    [master keyboard (2)]
↳ Virtual core XTEST keyboard               id=5    [slave  keyboard (3)]
↳ Video Bus                                 id=6    [slave  keyboard (3)]
↳ Power Button                              id=7    [slave  keyboard (3)]
↳ Sleep Button                              id=8    [slave  keyboard (3)]
↳ Dell WMI hotkeys                          id=9    [slave  keyboard (3)]
↳ AT Translated Set 2 keyboard              id=10   [slave  keyboard (3)]

Команда для включения щелчка:

xinput set-prop 'AlpsPS/2 ALPS GlidePoint' 'libinput Tapping Enabled' 1
1
13.04.2017, 15:36
1 ответ

В Bourne Shell присвоение переменных перед любой встроенной командой влияет на всю оболочку.

Поскольку Дэвид Корн начал создавать улучшенную оболочку Борна со многими встроенными функциями, прежде чем он добавил редактирование истории, для него могло быть очевидно, что такое поведение является проблемой.

В результате ksh88 ведет себя иначе, и это поведение стало основным для новых стандартов POSIX.

Текущее правило:

  • VAR = значение перед тем, как специальная встроенная функция повлияет на всю оболочку

  • VAR = значение перед тем, как любые другие команды повлияют только на эту команду даже в случае это встроенная команда.

Ваша ошибка заключалась в том, что вы запускали тесты со специальной встроенной функцией .

Если вы хотите получить список специальных встроенных функций, вы можете, например, вызовите builtin -s в Schily Bourne Shell .

Если вы проводили тесты с другой встроенной функцией, например с помощью команды cd вы бы увидели другие результаты, так как присвоение переменной выжило бы только после команды cd , если бы тест выполнялся в классической Bourne Shell.

Однако обратите внимание, что POSIX разрешает, но не требует, чтобы оболочка сохраняла среду со специальными встроенными командами . Если вы хотите добиться одинакового поведения для всех встроенных функций (даже для специальных встроенных функций), вы можете добавить имя встроенной команды командой .

3
27.01.2020, 23:26

Теги

Похожие вопросы