Долгий щелчок для эмуляции правой кнопки мыши? (XFCE)

Расширение параметра отличается от арифметического вычисления .

В арифметическом выражении текстовая строка, такая как a, интерпретируется как имя переменной, а значение этой переменной обрабатывается как само арифметическое выражение, а результат используется в содержащем арифметическом выражении. Таким образом

$((a * 3))

приводит к тому, что значение переменной a, 1+1вычисляется как арифметическое выражение, в результате чего получается 2, и все выражение становится $((2 * 3)), , т. е.6.

В том же контексте,$aзаменяется значением a, так как -на более ранней стадии(это является расширением параметра ); так

$(($a * 3))

становится $((1+1 * 3)), то есть 4следует обычным правилам приоритета.

Во втором примере $((++a))обрабатывается до обработки$b(слева направо ). Арифметическое выражение приводит к тому, что aоценивается как само арифметическое выражение, как указано выше; значение aравно a=b++, которое при вычислении присваивает значение b(, вычисленное как арифметическое выражение ), в a, а затем увеличивает b. Таким образом, после вычисления a, bравно 2, а aравно 1. Вычисление $((++a))увеличивает aи возвращает его значение, которое теперь равно 2. $bпросто заменяется значением b, 2. После того, как аргумент echoв кавычках обработан, echoзапускается с 2 2в качестве единственного аргумента, создавая результат, который вы видели.

1
16.10.2019, 05:10
1 ответ

Для этого есть блестящая программа:https://github.com/PeterCxy/evdev-right-click-emulation

Не знаю, как я это пропустил, но он отлично работает и на других DE.

0
27.01.2020, 23:59

Теги

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