Пожалуйста, объясните этот фрагмент сценария оболочки с помощью команды rm

Нет ответов на один из первых результатов Google, это ужасно.

xinput станет вашим новым другом. Откройте терминал как ваш пользователь и запустите xinput, вы должны увидеть что-то похожее на это:

⎡ Virtual core pointer                          id=2    [master pointer  (3)]
⎜   ↳ Virtual core XTEST pointer                id=4    [slave  pointer  (2)]
⎜   ↳ TPPS/2 IBM TrackPoint                     id=18   [slave  pointer  (2)]
⎜   ↳ SynPS/2 Synaptics TouchPad                id=17   [slave  pointer  (2)]
⎣ Virtual core keyboard                         id=3    [master keyboard (2)]
    ↳ Virtual core XTEST keyboard               id=5    [slave  keyboard (3)]
    ↳ Power Button                              id=6    [slave  keyboard (3)]
    ↳ Video Bus                                 id=7    [slave  keyboard (3)]
    ↳ Sleep Button                              id=8    [slave  keyboard (3)]
    ↳ Integrated Camera                         id=15   [slave  keyboard (3)]
    ↳ AT Translated Set 2 keyboard              id=16   [slave  keyboard (3)]
    ↳ ThinkPad Extra Buttons                    id=19   [slave  keyboard (3)]

(Это на ThinkPad x260 )Теперь вы можете узнать, какие параметры доступны для вашего тачпада, с помощью аргумента реквизита списка -.

 $ xinput list-props "SynPS/2 Synaptics TouchPad"                        
Device 'SynPS/2 Synaptics TouchPad':
        Device Enabled (139):   0
        Coordinate Transformation Matrix (141): 1.000000, 0.000000, 0.000000, 0.000000, 1.000000, 0.000000, 0.000000, 0.000000, 1.000000
        libinput Tapping Enabled (292): 0
        libinput Tapping Enabled Default (293): 0
        libinput Tapping Drag Enabled (294):    1
        libinput Tapping Drag Enabled Default (295):    1
        libinput Tapping Drag Lock Enabled (296):       0
        libinput Tapping Drag Lock Enabled Default (297):       0
        libinput Tapping Button Mapping Enabled (298):  1, 0
        libinput Tapping Button Mapping Default (299):  1, 0
        libinput Accel Speed (278):     0.000000
        libinput Accel Speed Default (279):     0.000000
        libinput Natural Scrolling Enabled (274):       0
        libinput Natural Scrolling Enabled Default (275):       0
        libinput Send Events Modes Available (259):     1, 1
        libinput Send Events Mode Enabled (260):        0, 0
        libinput Send Events Mode Enabled Default (261):        0, 0
        libinput Left Handed Enabled (283):     0
        libinput Left Handed Enabled Default (284):     0
        libinput Scroll Methods Available (285):        1, 1, 0
        libinput Scroll Method Enabled (286):   1, 0, 0
        libinput Scroll Method Enabled Default (287):   1, 0, 0
        libinput Click Methods Available (300): 1, 1
        libinput Click Method Enabled (301):    1, 0
        libinput Click Method Enabled Default (302):    1, 0
        libinput Middle Emulation Enabled (290):        0
        libinput Middle Emulation Enabled Default (291):        0
        libinput Disable While Typing Enabled (303):    1
        libinput Disable While Typing Enabled Default (304):    1
        Device Node (262):      "/dev/input/event5"
        Device Product ID (263):        2, 7
        libinput Drag Lock Buttons (276):       <no items>
        libinput Horizontal Scroll Enabled (277):       1

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

xinput set-prop "SynPS/2 Synaptics TouchPad" "Device Enabled" 0

Наконец, чтобы заставить его работать (и не ломать вещи в Gnome, я использую i3/config для запуска команд xinput при входе в систему.

exec --no-startup-id /usr/bin/xinput set-prop....
-3
08.08.2019, 20:52
1 ответ

Командаrm(«удалить» )удаляет файл. Имя удаляемого файла задается в переменной BTEQTEMPDELLOGS, а не напрямую. Любые сообщения об ошибках(2>)от rmотправляются на/dev/null(выбрасываются ), то же самое для нормального вывода(1>).

Сама переменная BTEQTEMPDELLOGSсоздается в первой строке путем объединения переменной LOGS, литерала '/' и переменной tablenameсо строкой ".DELlog" в конце.

Вот документация по (перенаправлению ввода и )вывода:GNU bash manual :Перенаправления .

В вашем примере перенаправляется только вывод, а не ввод. 1>перенаправляет обычные сообщения, выдаваемыеrm(обычно их нет ), 2>перенаправляет только сообщения об ошибках (файл не найден и т. д. ).

Вот более подробная информация об этих числах ("дескрипторы файлов" с точки зрения программиста):stdin (0 ), stdout (1 )и stderr (2 )в -/вывод программ .

Вот документация по/dev/null:Википедии :НУЛЕВОЕ устройство

1
28.01.2020, 05:19

Теги

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